二维数组从键盘上输入M行M列整数方阵并且输出,然后求两条对角线上元素之和,能得出正确的结果。用c语言方法
时间: 2025-01-24 14:11:29 浏览: 51
以下是一个用C语言编写的程序,它可以完成您要求的功能:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int matrix[MAX_SIZE][MAX_SIZE];
int M;
// 输入矩阵大小
printf("请输入方阵的大小M:");
scanf("%d", &M);
// 输入矩阵元素
printf("请输入%d行%d列的整数方阵:\n", M, M);
for (int i = 0; i < M; i++) {
for (int j = 0; j < M; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 输出矩阵
printf("您输入的矩阵是:\n");
for (int i = 0; i < M; i++) {
for (int j = 0; j < M; j++) {
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
// 计算两条对角线元素之和
int mainDiagonal = 0;
int secondaryDiagonal = 0;
for (int i = 0; i < M; i++) {
mainDiagonal += matrix[i][i];
secondaryDiagonal += matrix[i][M-1-i];
}
// 输出结果
printf("主对角线元素之和:%d\n", mainDiagonal);
printf("副对角线元素之和:%d\n", secondaryDiagonal);
printf("两条对角线元素之和:%d\n", mainDiagonal + secondaryDiagonal);
return 0;
}
```
这个程序的工作流程如下:
1. 首先定义了一个最大大小为100的二维数组。
2. 从键盘输入方阵的大小M。
3. 使用嵌套循环从键盘输入M行M列的整数方阵。
4. 再次使用嵌套循环输出输入的矩阵。
5. 使用for循环计算两条对角线的元素之和。mainDiagonal保存主对角线元素之和,secondaryDiagonal保存副对角线元素之和。
6. 最后,输出主对角线元素之和、副对角线元素之和以及两条对角线元素之和。
这个程序能够正确处理M行M列的方阵,并计算出两条对角线上元素之和。如果您有任何疑问或需要进一步的解释,请随时询问。
阅读全文
相关推荐











