c语言编程:计算一个n×n矩阵两个对角线之和。 输入格式: 第一行输入一个整数n(0<n≤10),第二行至第n+1行,每行输入n个整数,每行第一个数前没有空格,每行的每个数之间各有一个空格。 输出格式: 两条对角线元素和,输出格式见样例。
时间: 2024-03-15 20:46:55 浏览: 151
下面是一个计算n × n矩阵两个对角线之和的 C 语言程序,可以满足你的需求:
```c
#include <stdio.h>
int main()
{
int n;
int i, j, sum = 0;
int a[10][10];
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < n; i++) {
sum += a[i][i]; // 左上到右下的对角线
sum += a[i][n - i - 1]; // 右上到左下的对角线
}
if (n % 2 == 1) { // 如果矩阵为奇数阶,需要减去中心元素
sum -= a[n / 2][n / 2];
}
printf("sum = %d", sum);
return 0;
}
```
程序首先从标准输入中读入整数 n,表示矩阵的阶数。
然后,程序通过两个嵌套循环,从标准输入中读入 n × n 个整数,存储到二维数组 a 中。
接下来,程序通过一个循环,分别计算矩阵的左上到右下和右上到左下两条对角线上的元素之和,并累加到变量 sum 中。
最后,如果矩阵为奇数阶,需要减去中心元素,即 a[n / 2][n / 2],然后输出最终的结果。
需要注意的是,这里的数组下标从0开始计数,所以左上到右下的对角线的下标为 a[i][i],右上到左下的对角线的下标为 a[i][n - i - 1]。
阅读全文