月落风起时


私信TA

用户名:uq_19102475415

访问量:1369

签 名:

就算从ling开始,每天都有收获就会快乐!

等  级
排  名 6357
经  验 1367
参赛次数 0
文章发表 3
年  龄 23
在职情况 学生
学  校
专  业

  自我简介:

普普通通平平凡凡。

解题思路:见注释

注意事项:见注释

参考代码:

#include <stdio.h>

#include <stdlib.h>


int main()

{

        int M;

        scanf("%d",&M);

        if(M<=0||M>10)  //要求矩阵阶数在[1,10]上,不在则结束程序.

                return -1; 

        int a[M][M];

        int i,j;

        for(i=0;i<M;i++){       //输入M阶矩阵

                for(j=0;j<M;j++)

                        scanf("%d",&a[i][j]);

        }

        int sum1=0,sum2=0;

        for(i=0;i<M;i++){       //主对角线求和

                sum1+=a[i][i];

        }

        for(j=M-1,i=0;j>=0&&i<M;j--,i++){       //次对角线球和

                sum2+=a[j][i];

        }

        if(M%2==1)

                printf("%d\n",sum1+sum2-a[M/2][M/2]);   //奇数M阶矩阵减去中心数,因为多加了一次

        else

                printf("%d\n",sum1+sum2);       //      偶数M阶矩阵直接输出两对角线和的和

        return 0;

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区