用C语言实现,从键盘输入一个M*M的矩阵,分别求该矩阵主对角线上的元素之和,以及副对角线上的元素之和,要求M从键盘输入,且M的值小于10
时间: 2023-10-09 07:06:51 浏览: 74
C语言程序设计-分别求一个3×3的整型矩阵两对角线元素之和(或之积)。
5星 · 资源好评率100%
以下是用C语言实现该功能的代码:
```c
#include <stdio.h>
int main() {
int m, i, j, sum1 = 0, sum2 = 0;
int matrix[10][10]; // 假设M最大为10
printf("请输入M的值(M小于10):");
scanf("%d", &m);
// 读入矩阵
printf("请输入%d*%d的矩阵:\n", m, m);
for (i = 0; i < m; i++) {
for (j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算主对角线和副对角线的元素之和
for (i = 0; i < m; i++) {
sum1 += matrix[i][i]; // 主对角线上的元素之和
sum2 += matrix[i][m - 1 - i]; // 副对角线上的元素之和
}
// 输出结果
printf("主对角线上的元素之和为:%d\n", sum1);
printf("副对角线上的元素之和为:%d\n", sum2);
return 0;
}
```
代码思路:
1. 首先从键盘输入M的值;
2. 然后读入一个M*M的矩阵;
3. 遍历矩阵,累加主对角线和副对角线的元素之和;
4. 输出结果。
需要注意的是,本程序中假设M最大为10,如果需要处理更大的矩阵,则需要修改代码中的数组大小。
阅读全文