试题描述
求一个3×3的整型二维数组对角线元素之和。请使用数组实现。
输入
输入包含3行,每行均有3个整数,为二维数组按行列顺序输入的元素。相邻两项之间用一个空格隔开。
输出
输出对角线元素之和。
输入示例
1 2 -3
4 5 6
-7 8 9
输出示例
15
数据范围
输入输出均为int范围的整数
根据题意,输入为每行三个数,为三行,显然需要定义3x3二位数组
#include <stdio.h> #include <stdlib.h> int main() { int a[3][3],i,m,j,sum=0;
for(i=0;i<3;i++){ scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]); }
题意为输出主对角线和的值,观察发现主对角线的特点,横纵坐标一致,
即[0][0] ,[1][1] ,[2][2] ,所以条件即为横纵坐标相等。
for(m=0;m<3;m++){ for(j=0;j<3;j++){ if(m==j){ sum=sum+a[m][j]; } } }
printf("%d",sum); return 0; }
根据条件挨个检索,符合加和即可
综上最终代码即为
#include <stdio.h> #include <stdlib.h> int main() { int a[3][3],i,m,j,sum=0;
for(i=0;i<3;i++){ scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]); }
for(m=0;m<3;m++){ for(j=0;j<3;j++){ if(m==j){ sum=sum+a[m][j]; } } }
printf("%d",sum); return 0; }
(代码,解法不唯一,仅供参考)