读入一个正整数n(1≤n≤20),再读入n行n列共n²个整数并存入由二维数组表示的方阵m;计算并输出每一行的元素和;计算并输出每一列的元素和;计算并输出对角线上的元素和(即所有m[i][i]的和, i取0~n-1)。用C++
时间: 2024-10-09 21:15:15 浏览: 62
依次去掉n中的某一位数字,得到m个整数,并将这m个整数按从小到大的次序排列后输出.docx
5星 · 资源好评率100%
在C++中,你可以使用标准库`cin`和`cout`来读入数据,并通过二维数组来存储矩阵。下面是一个简单的示例程序,用于完成你所描述的任务:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入正整数n: ";
cin >> n;
// 创建一个n x n的二维数组
int m[n][n];
// 读入n²个整数并填充矩阵
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
cout << "请输入第(" << i+1 << "," << j+1 << ")个元素: ";
cin >> m[i][j];
}
}
// 计算每一行、每一列以及主对角线的元素和
int row_sums[n], col_sums[n], diag_sum = 0;
for(int i = 0; i < n; ++i) {
row_sums[i] = 0;
for(int j = 0; j < n; ++j) {
row_sums[i] += m[i][j];
col_sums[j] += m[i][j]; // 对于列,索引不变
}
diag_sum += m[i][i];
}
// 输出结果
cout << "每一行的元素和:\n";
for(int i = 0; i < n; ++i) {
cout << "Row " << (i+1) << ": " << row_sums[i] << endl;
}
cout << "每一列的元素和:\n";
for(int i = 0; i < n; ++i) {
cout << "Column " << (i+1) << ": " << col_sums[i] << endl;
}
cout << "对角线的元素和: " << diag_sum << endl;
return 0;
}
```
阅读全文