5-4 矩阵置位-1 题目描述求 n 行 n 列矩阵中主对角线的元素值的和。 输入格式: 输入整数 n(1<n<=20)。再循环输入该二维数组元素。输出格式: 分行输出矩阵中各个元素的值,每个元素输出占用 8 列(%8d),右对齐。
时间: 2024-03-09 20:49:46 浏览: 108
好的,这是一个简单的矩阵操作题目。以下是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
const int N = 25;
int a[N][N];
int main()
{
int n;
cin >> n;
int sum = 0; // 用于记录主对角线元素的和
for (int i = 0; i < n; i ++ )
for (int j = 0; j < n; j ++ )
{
cin >> a[i][j];
if (i == j) sum += a[i][j]; // 如果是主对角线元素,则加上其值
}
// 输出矩阵中的各个元素
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < n; j ++ )
printf("%8d", a[i][j]);
cout << endl;
}
cout << "主对角线元素的和为:" << sum << endl;
return 0;
}
```
在这个代码中,我们用了一个二维数组 `a` 来存储输入的矩阵,然后依次遍历它,并判断当前元素是否在主对角线上,如果是的话,就将其值加到 `sum` 变量中。最后,我们输出矩阵中的各个元素,并输出主对角线元素的和。
注意,我们在输出矩阵的时候,用了 `printf("%8d", a[i][j])` 来控制输出格式,使其右对齐并占 8 列。
阅读全文