c语言编程完成功能:从键盘输入一个 n*n(最大为 20*20)矩阵的各元素的值,求出该矩阵两条对角线上各元素值之和并输出
时间: 2025-01-06 10:48:29 浏览: 3
好的,我可以帮您编写一个C语言程序来完成这个功能。以下是实现这个功能的代码:
```c
#include <stdio.h>
#define MAX_SIZE 20
int main() {
int n, i, j;
int matrix[MAX_SIZE][MAX_SIZE];
int sum = 0;
// 输入矩阵大小
printf("请输入矩阵的阶数n(最大为20):");
scanf("%d", &n);
// 输入矩阵元素
printf("请输入矩阵的各元素值:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算对角线元素之和
for (i = 0; i < n; i++) {
sum += matrix[i][i]; // 主对角线
if (i != n - 1 - i) { // 避免重复计算中心元素(如果n为奇数)
sum += matrix[i][n - 1 - i]; // 副对角线
}
}
// 输出结果
printf("矩阵两条对角线上各元素值之和为:%d\n", sum);
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个最大大小为20x20的矩阵。
2. 首先,程序提示用户输入矩阵的阶数n(最大为20)。
3. 然后,程序要求用户输入矩阵的各个元素。
4. 接下来,程序使用一个for循环来计算两条对角线上元素值的和。
- 主对角线的元素为matrix[0][0], matrix[1][1], ..., matrix[n-1][n-1]
- 副对角线的元素为matrix[0][n-1], matrix[1][n-2], ..., matrix[n-1][0]
5. 最后,程序输出计算得到的和。
这个程序可以处理任意大小的n*n矩阵(最大20*20),并正确计算两条对角线上元素值的和,即使n为奇数时中心元素只被计算一次。
阅读全文