从键盘输入一个M×M的矩阵,分别求该矩阵主对角线上的元素之和、以及副对角线上的元素之和。要求M的值从键盘输入,且M的值小于10。C语言
时间: 2024-05-18 19:18:13 浏览: 19
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int M, i, j, mainSum = 0, viceSum = 0;
printf("请输入矩阵的大小M:");
scanf("%d", &M);
int matrix[M][M];
printf("请按行输入矩阵的元素,每个元素之间用空格隔开:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < M; j++) {
scanf("%d", &matrix[i][j]);
if (i == j) { // 判断是否为主对角线元素
mainSum += matrix[i][j];
}
if (i + j == M - 1) { // 判断是否为副对角线元素
viceSum += matrix[i][j];
}
}
}
printf("主对角线元素之和为:%d\n", mainSum);
printf("副对角线元素之和为:%d\n", viceSum);
return 0;
}
```
解释一下,首先从键盘输入矩阵的大小M,然后定义一个二维数组matrix,用于存储矩阵元素。接着使用两重循环,按行输入矩阵的元素,并且同时累加主对角线和副对角线的元素之和。最后输出结果即可。
需要注意的是,这里的主对角线元素指的是矩阵左上角到右下角的对角线上的元素,而副对角线元素指的是矩阵右上角到左下角的对角线上的元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)