C语言从键盘输入一个M×M的矩阵,分别求该矩阵主对角线上的元素之和、以及副对角线上的元素之和。要求M的值从键盘输入,且M的值小于10。
时间: 2024-05-04 11:19:04 浏览: 74
C语言数组二
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int m;
printf("请输入矩阵的维数m(m<10):");
scanf("%d", &m);
int matrix[m][m];
int sum1 = 0, sum2 = 0; // sum1为主对角线元素之和,sum2为副对角线元素之和
// 从键盘输入矩阵元素
printf("请依次输入矩阵的%d个元素:\n", m * m);
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
if (i == j) { // 计算主对角线元素之和
sum1 += matrix[i][j];
}
if (i + j == m - 1) { // 计算副对角线元素之和
sum2 += matrix[i][j];
}
}
}
printf("主对角线元素之和:%d\n", sum1);
printf("副对角线元素之和:%d\n", sum2);
return 0;
}
```
程序中,首先从键盘输入矩阵的维数m,然后定义一个m×m的矩阵。接着,通过两个for循环分别从键盘输入矩阵的每个元素,并计算主对角线元素之和和副对角线元素之和。最后输出这两个和。
阅读全文