[C语言]二维数组对角线之和A;求一个3×3的整型二维数组对角线元素之和。请使用数组实现。

试题描述

求一个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;
}

(代码,解法不唯一,仅供参考)


版权声明:本文为ZDEWBYE原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。