题目:


题目描述:

求一个3×3矩阵对角线元素之和。

输入:

矩阵

输出:

主对角线 副对角线 元素和

解题思路:


一个3*3矩阵的主对角线是这样的:

+ - -
- + -
- - +

它的各个点的位置分别是:(0,0)(1,1)(2,2)

我们可以很容易地看出,当它的X坐标=Y坐标时,这个点就位于主对角线上。


再来看看副对角线:

- - +
- + -
+ - -

它的各个点的位置分别是:(0,2)(1,1)(2,0)

不难看出,当它的X坐标+Y坐标=2时,这个点就位于副对角线上。

参考代码:



#include<cstdio>
int main()
{
    int  a[3][3],n=0,m=0;
    for(int x=0;x<3;x++)
        for(int y=0;y<3;y++) 
        {
            scanf("%d",&a[x][y]);
            if(x==y) //判断是否处在主对角线上
                n+=a[x][y];
            if(x+y==2) //判断是否处在副对角线上
                m+=a[x][y];
        }
    printf("%d %d",n,m);
    return 0;
}
点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论