题目

两个矩阵相加

思路

本题两个同尺寸矩阵对应位置相加,得到新矩阵。

读入 ab,两重循环:对每个行 i、列 j,令 c[i][j]=a[i][j]+b[i][j]。输出时按行、空格分隔。

解题分析

矩阵相加要求同尺寸,每个元素 c[i][j]=a[i][j]+b[i][j]。双重循环行优先或列优先均可。

完整程序

#include <stdio.h>

int main(void)
{
    int a[2][3], b[2][3], c[2][3];
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            scanf("%d", &b[i][j]);
        }
    }
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            c[i][j] = a[i][j] + b[i][j];
        }
    }
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d%c", c[i][j], j + 1 < 3 ? ' ' : '\n');
        }
    }
    return 0;
}

运行示例

输入:

1 2 3
4 5 6
7 8 9
1 1 1
1 1 1

输出:

8 10 12
5 6 7