从键盘输入一个M×M的矩阵,分别求该矩阵主对角线上的元素之和、以及副对角线上的元素之和。要求M的值从键盘输入,且M的值小于10。
时间: 2024-02-11 15:08:33 浏览: 76
好的,这是一个关于矩阵的问题。首先我们需要明确一下,主对角线上的元素指的是矩阵左上角到右下角的对角线上的所有元素,而副对角线上的元素指的是矩阵右上角到左下角的对角线上的所有元素。接下来我会给出一个C++的代码示例来实现这个功能。
```
#include <iostream>
using namespace std;
int main() {
int m, sum1 = 0, sum2 = 0;
cout << "请输入矩阵的大小M:";
cin >> m;
int matrix[m][m];
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
cin >> matrix[i][j];
if (i == j) { // 如果是主对角线上的元素
sum1 += matrix[i][j];
}
if (i + j == m - 1) { // 如果是副对角线上的元素
sum2 += matrix[i][j];
}
}
}
cout << "主对角线上的元素之和为:" << sum1 << endl;
cout << "副对角线上的元素之和为:" << sum2 << endl;
return 0;
}
```
在上面的代码中,我们首先通过 `cin` 输入了矩阵的大小 `m`,然后定义了一个二维数组 `matrix` 来存储矩阵中的元素。接着,我们通过两个 `if` 语句来分别计算主对角线和副对角线上的元素之和,并将结果存储在 `sum1` 和 `sum2` 变量中。最后,我们通过 `cout` 输出结果即可。
希望这个代码示例对您有所帮助!
阅读全文