#Z0406. [伴随编程] 二维数组列求和
[伴随编程] 二维数组列求和
、
#include <iostream>
using namespace std;
int main() {
int matrix[3][5];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
cin >> matrix[i][j];
}
}
return 0;
}
这一节中,我们来学习如何输出一个二维数组每一列中元素的和。
我们可以看到,现在的程序中声明了一个二维数组并且完成了读入的过程。
不同于行求和的过程,按列进行求和会变得麻烦不少。在这里,我们可以在声明 matrix 之后单独声明一个用于存列的和的数组 sum,长度为 5;并将其内元素全部初始化为 0。或申请成全局变量。
int sum[5] = {0, 0, 0, 0, 0};
接下来,让我们 在内循环中 把遇到的行内元素第 j 列 matrix[i][j]
加入到第 j 个累加变量 sum[j] 中。
sum[j] += matrix[i][j];
通过这种方式,我们就将这个二维数组第 j 列的所有数字的和都放到了 sum[j] 中。
输入完成后, 二维数组每一列的值被统计到 sum 数组中。将sum数组输出 即可
for (int j = 0; j < 5; j++) {
cout << sum[j] << endl;
}
想一想,这种设计下,我们一定要用到二维数组么?我们有别的办法么?
写好代码后点击 运行,输入一个 3 行 5 列的矩阵,看看按行求和后我们的结果长成什么样吧?