输入一个M*N整型的二维数组,对其每列求和,和单独存放在一个一维数组中。(M、N由键盘输入)用C语

输入一个M*N整型的二维数组,对其每列求和,和单独存放在一个一维数组中。(M、N由键盘输入)用C语言编程,必须用数组

#include <stdio.h>
#include <stdlib.h>
int main(){
    int n,m,i,j;
    int **arr;
    int *ans;
    printf("Please input m n:");
    scanf("%d%d",&m,&n);
    arr=(int **)malloc(sizeof(int*)*m);
    for(i=0;i<m;i++)
        arr[i]=(int*)malloc(sizeof(int)*n);
    printf("Please input a M*N array:\n");
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            scanf("%d",&arr[i][j]);
    ans=(int*)malloc(sizeof(int)*n);
    for(i=0;i<n;i++){
        ans[i]=0;
        for(j=0;j<m;j++)
            ans[i]+=arr[j][i];
    }
    printf("Result:\n");
    for(i=0;i<n;i++)
        printf("%d ",ans[i]);
    printf("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考