首页 > 解决方案 > 在 C 中的多维数组中添加行和列

问题描述

所以我有这个实验室,我似乎无法弄清楚如何获得每个单独的行和列的总和。这是我尝试过的:

void columnSum(int rows,  int columns ){
int sum=0;
int array[rows][columns];
for (int j=0; j<rows;++j) {
    for (int i=0; i<columns;++i){
        sum+=array[rows][columns];
    }
    printf(" %d",sum);
    sum=0;
}

void rowSum(int rows,  int columns){
int array[rows][columns];
int sum=0;
for (int i=0; i<rows;++i) {
    for (int j=0; j<columns;++j){
        sum+=array[rows][columns];
    }
    printf(" %d",sum);
    sum=0;
}

我在参数部分没有数组,因为由于某种原因,当我这样做时,我的程序中途停止了。无论如何,请让我知道如何解决实验室的这一部分,以及如何根据示例运行格式化打印。谢谢!

标签: carraysmultidimensional-array

解决方案


您不能使用 array[rows][columns] 因为行和列没有改变,所以您只需一遍又一遍地添加相同的值。

 for (i=0;i<columns;i++) {
       for (j=0;j<rows;j++) {
            scanf("%d",&a[i][j]);
      }  
    }
          //COLUMNS//
    for (i=0;i<columns;i++) {
        sum=0;
       for (j=0;j<rows;j++) {
        sum+=a[i][j];
      }  
     printf ("columns sum= %d\n",sum);

    }
             //ROWS//
       for (j=0;j<rows;j++) {
        sum=0;
       for (i=0;i<columns;i++) {
        sum+=a[i][j];
       }  
      printf ("rows sum= %d\n",sum);
    }

推荐阅读