c++,有一个5*5的数组,从键盘获取数据,求出次对角线上各元素之和,并求出该数组中的最大值以及其所在行号。
时间: 2024-11-13 17:40:34 浏览: 24
在C++中,你可以使用`cin`从键盘输入一个5x5的整数数组,然后通过遍历数组计算对角线元素的和。对于主对角线,它包含从左上角到右下角的元素,而次对角线则是从左下角到右上角的元素。这里是一个简单的示例程序:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[5][5];
int main_diag_sum = 0;
int secondary_diag_sum = 0;
int max_value = -1; // 初始化为负一,用于后续找到的最大值
int max_row = -1;
// 从键盘获取数组元素
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << "请输入第 " << (i+1) << "," << (j+1) << " 位置的数字: ";
cin >> arr[i][j];
// 计算两个对角线的和
if (i == j) {
main_diag_sum += arr[i][j];
} else if (i + j == 4) { // 次对角线
secondary_diag_sum += arr[i][j];
}
// 更新最大值及其所在的行号
if (arr[i][j] > max_value) {
max_value = arr[i][j];
max_row = i;
}
}
}
// 输出结果
cout << "主对角线元素之和: " << main_diag_sum << endl;
cout << "次对角线元素之和: " << secondary_diag_sum << endl;
cout << "最大值: " << max_value << ", 行号: " << max_row + 1 << endl;
return 0;
}
```
阅读全文