解题思路:

1、矩阵选择使用二维数组 a[x][y] 来存储。

2、使用二维数据存储数据时,需要2个for循环来获取数据

3、主对角线的数据特征是 x=y, 副对角线的数据特征是x+y=2

注意事项:

参考代码:

#include<stdio.h>
int main()
{
    int x, y, sum1 = 0, sum2 = 0, a[3][3];
    for(x=0; x<3; x++)
    {
        for(y=0; y<3; y++) 
        {
            scanf("%d", &a[x][y]);
            if(x == y)
                sum1+=a[x][y];
            if(x+y == 2)
                sum2+=a[x][y];
        }
    }
    printf("%d %d", sum1, sum2);
    return 0;
}


点赞(51)
 

0.0分

90 人评分

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

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

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

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

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

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

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

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

评论列表 共有 71 条评论

uq_78487532311 3年前 回复TA
@花开回落 最简单的方法
花开回落 3年前 回复TA
#include<stdio.h>
int main()
{
    int a[3][3],sum1,sum2;
    for(int b=0;b<3;b++){
        for(int c=0;c<3;c++){
            scanf("%d",&a[b][c]);
        }
    }
    sum1=a[0][0]+a[1][1]+a[2][2];
    sum2=a[0][2]+a[1][1]+a[2][0];
    printf("%d %d ",sum1,sum2);
    return 0;
}
曦阳 3年前 回复TA
@白色枫叶 笑死
Eliauk 3年前 回复TA
@你胜过世间万物 矩阵没学好
Eliauk 3年前 回复TA
@白色枫叶 绝对满分
毛群祥是废物 3年前 回复TA
@白色枫叶 我也是这样的,我还想着这不是弱智题目吗,哈哈哈哈
白色枫叶 3年前 回复TA
#include <stdio.h>

int main()
{
	int a,b,c,d,e,f,g,h,i;
	int sum1=0;
	int sum2=0;
	
	scanf("%d %d %d \n%d %d %d \n%d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i);
	
	printf("%d %d",sum1=a+e+i,sum2=c+e+g);
	
	return 0;
}
没有十年编程经验想不出来这种源码XD
古倪啷虚宇 3年前 回复TA
@蓝色天桥 二维数组,你用一个for循环怎么能对?
古倪啷虚宇 3年前 回复TA
@你胜过世间万物 数组下标从0开始,行向量0 1 2 列向量 0 1 2所以02 11 20
Ming 3年前 回复TA
@你胜过世间万物 02 11 20