求一个3×3的整数矩阵对角线之和

题目如下

白嫖的排好队,一个一个来。作者那么肝就不能给个赞吗?

任务描述

本关任务:求一个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;
}

Guess you like

Origin blog.csdn.net/qq_46069852/article/details/120983974
Recommended