第1个回答 2023-03-14
以下是一份C语言程序,能够实现从键盘输入一个矩阵,并计算出该矩阵的两条对角线的和:
```c
#include <stdio.h>
#define MAXSIZE 20
int main() {
int n, i, j;
int matrix[MAXSIZE][MAXSIZE];
int sum_main = 0, sum_minor = 0;
do {
printf("Please input the size of the matrix(<=20):");
scanf("%d", &n);
} while (n <= 0 || n > MAXSIZE);
// 从键盘输入矩阵的各个元素
printf("Please input the elements of the matrix:\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_main += matrix[i][i];
sum_minor += matrix[i][n - i - 1];
}
// 输出结果
printf("The sum of the main diagonal is: %d\n", sum_main);
printf("The sum of the minor diagonal is: %d\n", sum_minor);
return 0;
}
```
在程序中,首先从键盘输入矩阵的大小,然后利用循环从键盘输入矩阵的各个元素。之后,利用两个循环计算出矩阵的两条对角线的和,并输出结果。
在实际的编程过程中,应该注意矩阵边界的处理,同时还应该考虑输入数据的正确性和越界的问题。