-3

如何将行和列添加到 3X4 数组?

输出:

1  2  3  4  10
5  6  7  8  26
9  10 11 12 42

我使用for循环吗?我无法理解逻辑。

int main()
{  
    int arr[3][4], r, c;

    for (r=0; r < 3; r++)
     {
         for (c=0; c < 4; c++) 
           {
              arr[r][c] = 1+r+c;

              printf("%d ", arr[r][c]);
           }

           printf("\n");
      }

      system("PAUSE");
      return 0;
}
4

2 回答 2

0

目前,您的矩阵包含以下内容:

1 2 3 4
2 3 4 5
3 4 5 6

更改arr[r][c] = 1+r+c;arr[r][c] = 1+c+(COLS*r);whereCOLS是矩阵的列数。

1 2 3 4 
5 6 7 8 
9 10 11 12 

您现在可以遍历每一行并计算总和:

int i, j;
for (i = 0; i < ROWS; ++i) {
    int sum = 0;
    for (j = 0; j < COLS; ++j) {
        sum += arr[i][j];
    }
    printf("%d\n", sum);
}
于 2013-06-10T13:09:52.487 回答
0
    int arr[3][4], r, c, i = 1;

    for (r=0; r < 3; r++){
        int sum = 0;
        for (c=0; c < 4; c++){
            arr[r][c] = i++;
            sum += arr[r][c];
            printf("%2d ", arr[r][c]);
        }
        printf("%d\n", sum);
    }
于 2013-06-10T13:57:24.137 回答