键盘输入一个M×M的矩阵,分别求该矩阵主对角线上的元素之和、以及副对角线上的元素之和。要求M的值从键盘输入,且M的值小于10。c语言
时间: 2024-02-11 12:08:15 浏览: 82
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和
5星 · 资源好评率100%
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int M;
int matrix[10][10];
int sum1 = 0, sum2 = 0;
printf("请输入M的值(M小于10):");
scanf("%d", &M);
// 输入矩阵
printf("请输入矩阵的%d个元素:\n", M * M);
for (int i = 0; i < M; i++) {
for (int j = 0; j < M; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 求主对角线上的元素之和
for (int i = 0; i < M; i++) {
sum1 += matrix[i][i];
}
// 求副对角线上的元素之和
for (int i = 0; i < M; i++) {
sum2 += matrix[i][M - i - 1];
}
// 输出结果
printf("主对角线上的元素之和为:%d\n", sum1);
printf("副对角线上的元素之和为:%d\n", sum2);
return 0;
}
```
这段代码中,我们首先定义了一个整型变量`M`,用于存储矩阵的行数和列数。然后定义了一个二维数组`matrix`,用于存储输入的矩阵。接着使用`scanf`函数从键盘输入`M`的值,再使用`for`循环输入矩阵的每个元素。接下来,分别使用两个`for`循环计算矩阵的主对角线上的元素之和和副对角线上的元素之和,并将结果存入变量`sum1`和`sum2`中。最后,使用`printf`函数输出结果即可。
阅读全文