题目如下
白嫖的排好队,一个一个来。作者那么肝就不能给个赞吗?
任务描述
本关任务:求一个3×3的整数矩阵对角线之和,如对如下矩阵:
1 2 3
4 5 6
7 8 9
对角线元素之和为: 1+5+9+3+5+7=30
相关知识
为了完成本关任务,你需要掌握: 1.二维数组的定义; 2.二维数组的初始化; 3.二维数组元素的访问; 4.二维数组求对角线元素之和。
二维数组的定义
二维数组定义的语句格式如下: 类型名 数组名[常量表达式1][常量表达式2];
(1)数组名代表这个数组的首地址,是常量;常量表达式1和常量表达式2的值必须是无符号、非0的整型常量(数值常量或符号常量),不能是变量。与二维表相对应,二维数组的“常量表达式1”指出二维表的行数,“常量表达式2”指出二维表的列数。
(2)例如定义: float class[30][6]; int a[3][4]; 前一个语句表示数组class是30×6(30行6列)的二维数组,共有180个float型变量的集合;后一个语句表示数组a是3×4(3行4列)的二维数组,共有12个int型变量的集合,分别是a[0][0]、a[0][1]、a[0][2]、a[0][3],a[1][0]、a[1][1]、a[1][2]、a[1][3],a[2][0]、a[2][1]、a[2][2]、a[2][3]。
二维数组的初始化
1.赋值法 int a[3][4]={ {1,2,3},{4,5,6},{7,8,9}};
2.键盘输入法 for (i = 0; i<3; i++) // 行循环
for (j = 0; j<4; j++) // 列循环
scanf("%d", &a[i][j]); // 输入数据
二维数组元素的访问
二维数组定义后,其元素也像普通变量一样可以使用,二维数组元素的表示形式: 数组名[下标1][下标2] 其中,下标应为整型常量或整型表达式。
二维数组求对角线元素之和
找到对角线元素求和即可。
编程要求
1.3*3矩阵从键盘输入;
2.对角线之和输出形式为:sum= 30
测试说明
平台会对你编写的代码进行测试:
输入任意矩阵如下:
1 2 3
4 5 6
7 8 9
输出结果为: sum= 30
本题用二维数组的基本知识就可以求解
#include <stdio.h>
int main() // 定义main函数
{
int a[3][3];
int i,j,sum1,sum2,sum;
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
{
scanf("%d",&a[i][j]);
}
}
sum1=a[0][0]+a[1][1]+a[2][2];
sum2=a[0][2]+a[1][1]+a[2][0];
sum=sum1+sum2;
printf("sum= %d",sum);
return 0;
}