读入一个正整数n(1≤n≤20),再读入n行n列共n²个整数并存入由二维数组表示的方阵m;计算并输出每一行的元素和;计算并输出每一列的元素和;计算并输出对角线上的元素和(即所有m[i][i]的和, i取0~n-1)。
时间: 2023-06-06 20:05:20 浏览: 118
好的,这是一个计算问题,我可以回答。以下是代码实现:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int m[n][n];
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
cin >> m[i][j];
}
}
// 计算每一行的元素和
for(int i=0; i<n; i++) {
int row_sum = 0;
for(int j=0; j<n; j++) {
row_sum += m[i][j];
}
cout << row_sum << " ";
}
cout << endl;
// 计算每一列的元素和
for(int j=0; j<n; j++) {
int col_sum = 0;
for(int i=0; i<n; i++) {
col_sum += m[i][j];
}
cout << col_sum << " ";
}
cout << endl;
// 计算对角线上的元素和
int diagonal_sum = 0;
for(int i=0; i<n; i++) {
diagonal_sum += m[i][i];
}
cout << diagonal_sum << endl;
return 0;
}
```
请注意,这段程序是用 C++ 编写的,不同编程语言实现的程序可能会有差异。
阅读全文