【问题描述】矩阵运算。读入一个正整数n(1<n≤6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列、最后一行以外的所有元素之和,副对角线为从矩阵的右上角到左下角连线。试编写相应程序。
【样例输入】
3
1 1 1
1 1 1
1 1 1
【样例输出】
3
#include <stdio.h>
int main() {
int n;
int i;
int j;
// 获取矩阵阶数//矩阵其实是一个坐标系
scanf("%d", &n);
// 读入矩阵
int a[n][n];
for ( i = 0; i < n; ++i) {
for ( j = 0; j < n; ++j) {
scanf("%d", &a[i][j]);
}
}
// 计算除副对角线、最后一列、最后一行以外的所有元素之和
int sum = 0;
for ( i = 0; i < n; ++i) {
for ( j = 0; j < n; ++j) {
if (i != n - 1 && j != n - 1 && i + j != n - 1) {
sum += a[i][j];
}//显而易见的是一个二位数组的副对角线的i和j相加之后通常等于n-1
}
}
// 输出计算结果
printf("%d\n", sum);
return 0;
}