c语言 输入一个m*n整形的二维数组,对其每行求和,和单独存放在一个一维数组中?

如题,求大佬

#include <stdio.h>


#define M 3

#define N 4


int main()  {

        int i,j,a[M][N],b[M] = {0};

        printf("输入 %d 个整数(空格隔开):\n\n",M * N);

        for(i = 0; i < M; ++i)

            for(j = 0; j < N; ++j)

                scanf("%d",&a[i][j]);

        for(i = 0; i < M; ++i)

                for(j = 0; j < N; ++j)

                    b[i] += a[i][j];

        printf("\n\n各行的和为:\n");

        for(i = 0; i < M; ++i)

            printf("%d ",b[i]);

        printf("\n");

        return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-06

int b[m]={0};

for(i=0;i<m;i++)

  for(j=0;j<n;j++)

    b[i]+=a[i][j];

================

完整的程序代码如下:

#include <stdio.h>

#define m 4

#define n 5

int main()

{ int i,j,k=0,a[m][n],b[m]= {0};

  for(i=0; i<m; i++)

  { for(j=0; j<n; j++)

    { a[i][j]=++k;

      printf("%4d",a[i][j]);

    }

    printf("\n");

  }

  for(i=0; i<m; i++)

  { for(j=0; j<n; j++)

      b[i]+=a[i][j];

    printf("第%d行的和=%d\n",i+1,b[i]);

  }

  return 0;

}