
各位学识渊博的人,晚辈不才,请帮我解决这个问题。
各位学识渊博的人,晚辈不才,请帮我解决这个问题。
各位学识渊博的人,晚辈不才,请帮我解决这个问题。

各位学识渊博的人,晚辈不才,请帮我解决这个问题。
各位学识渊博的人,晚辈不才,请帮我解决这个问题。
各位学识渊博的人,晚辈不才,请帮我解决这个问题。
下面是使用 C 语言编写的程序,用于输入一个 N*N 的二维数组,并求该矩阵的主、副对角线上元素之和。
#include <stdio.h>
int main() {
int N;
printf("请输入矩阵的维度 N:");
scanf("%d", &N);
int matrix[N][N];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &matrix[i][j]);
}
}
int mainDiagonalSum = 0; // 主对角线上元素之和
int antiDiagonalSum = 0; // 副对角线上元素之和
// 求主对角线上元素之和
for (int i = 0; i < N; i++) {
mainDiagonalSum += matrix[i][i];
}
// 求副对角线上元素之和
for (int i = 0; i < N; i++) {
antiDiagonalSum += matrix[i][N - i - 1];
}
printf("主对角线上元素之和:%d\n", mainDiagonalSum);
printf("副对角线上元素之和:%d\n", antiDiagonalSum);
return 0;
}
在程序运行时,首先要求用户输入矩阵的维度 N,然后让用户输入 N*N 个整数作为数组的元素。程序会计算并输出主对角线和副对角线上元素之和。注意,这里假设用户输入的整数个数符合要求。