m0_58113489 2024-03-29 13:13 采纳率: 100%
浏览 7
已结题

矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和

输入两个n行m列的矩阵A和B,输出它们的和A+B,矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和,具体参照样例输入格式
第一行包含两个整数n和m,表示矩阵的行数和列数(1≤n≤100,1≤m≤100)。
接下来n行,每行m个整数,表示矩阵A的元素。接下来n行,每行m个整数,表示矩阵B的元素。
相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。
输出格式
n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。
输入样例
2 2
1 -1
2 -2
2 2
3 3
输出
3 3
5 5

  • 写回答

15条回答 默认 最新

  • Seal^_^ 优质创作者: 云计算技术领域 2024-03-29 15:10
    关注

    img

    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        int n, m;
        scanf("%d %d", &n, &m); 
        int A[n][m];
        int B[n][m];
     
        // 读取矩阵A
        for(int i = 0; i < n; ++i) {
            for(int j = 0; j < m; ++j) {
                scanf("%d", &A[i][j]);
            }
        }
     
        // 读取矩阵B
        for(int i = 0; i < n; ++i) {
            for(int j = 0; j < m; ++j) {
                scanf("%d", &B[i][j]);
            }
        }
     
        // 计算输出矩阵A,B的和
        for(int i = 0; i < n; ++i) {
            for(int j = 0; j < m; ++j) {
                // 绝对值相加
                printf("%d", abs(A[i][j]) + abs(B[i][j]));
                if(j < m - 1) printf(" "); 
            }
            printf("\n"); // 每行结束换行
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月29日