题目
读入 3×3 矩阵,求主对角线元素之和
思路
本题读入 3×3 矩阵,求主对角线上三个元素之和。
主对角线是行号与列号相同的位置:a[0][0]、a[1][1]、a[2][2]。循环 for (i=0;i<3;i++) sum+=a[i][i] 即每次取第 i 行第 i 列的一个数相加;不要加副对角线 a[i][2-i]。
解题分析
副对角线是从右上到左下(如 a[0][2]、a[1][1]、a[2][0]),条件常写成 i+j==2,与主对角线 i==j 不同,本题不要加副对角线上的数。固定 3×3 时也可直接写 a[0][0]+a[1][1]+a[2][2]。
完整程序
#include <stdio.h>
int main(void)
{
int a[3][3], sum = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < 3; i++) {
sum += a[i][i];
}
printf("%d\n", sum);
return 0;
}
运行示例
输入:
1 2 3
4 5 6
7 8 9输出:
15