#Z0405. [伴随编程] 二维数组行求和
[伴随编程] 二维数组行求和
#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;
}
这一节中,我们来学习如何输出一个二维数组每一行中元素的和。
我们可以看到,现在的程序中声明了一个二维数组并且完成了读入的过程。
接下来,我们要在它的外循环内、内循环开始前加上一个用于累计一行所有数字的变量 sum,并将它初始化为 0。
int sum = 0;
接下来,我们可以在内循环完成一个数字读入后,将这个读入的行内元素(同一行的不同列)加入到这一行的累加变量 sum 中:
sum += matrix[i][j];
由此,我们可以知道每一个外循环内的 sum 在内循环执行完毕后都是这一次外循环对应的行中所有的元素的和。
我们只需要在内循环执行结束后将它输出,就可以达到求出每一行和的功能了。
cout << sum << endl;
不知道你有没有发现,这种方式下,我们其实完全可以不去声明一个二维数组。因为当我们考虑一个行的问题时,我们完全可以将计算过程和读入过程合并。这样的话,使用一个用于读入的临时变量 temp 代替我们现在代码中的 matrix[i][j]
也是完全可行的。例如:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 3; i++) {
int sum = 0;
for (int j = 0; j < 5; j++) {
int temp;
cin >> temp;
sum += temp;
}
cout << sum << endl;
}
return 0;
}
点击 运行,输入一个 3 行 5 列的矩阵,看看按行求和后我们的结果长成什么样吧?