【问题标题】:Adding rows and columns in MultiDimensional arrays in C在 C 中的多维数组中添加行和列
【发布时间】:2019-09-25 17:47:28
【问题描述】:

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

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;
}

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

【问题讨论】:

  • 欢迎来到 SO!创建ij 并使用array[rows][columns]; (超出范围)有什么意义?使用array[i][j];
  • 您需要传入一个数组作为参数,或者在每个函数中初始化每个array。除了任何其他错误,array 的每个单元格都是一个不确定的值,因此sum 也是如此。
  • 数组未初始化;任何金额都是假的。

标签: c arrays multidimensional-array


【解决方案1】:

您不能使用 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);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-05
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    相关资源
    最近更新 更多