关于求矩阵主对角线元素之和及副对角线元素之和的问题

今天我在acm系统刷题时,遇到了一道这样的题目:
   题目描述:求一个3×3矩阵对角线元素之和。输入矩阵,输出主对角线 副对角线 元素和
样例输入
1  2  3
1  1  1
3  2  1
样例输出 3 7

  拿到这个题时脑子里第一时间想的是怎么先去求主对角线各元素之和,求主对角线很简单,只需要一层for循环即可.到求副对角线元素之和时,不知道自己在想啥,竟然第一思路是和求主对角线元素之和一个原理,只是把它逆向一下,结果是输出两个数都是主对角线元素之和的结果.然后自己在草稿纸上把这个三阶矩阵画出来,才发现自己的那个想法其实是倒着求主对角线元素的和.
  
  求副对角线上的元素和还是要从矩阵第一行开始,只不过是第二个下标用矩阵阶数和当前遍历到的行数表示出来即可,并不需要两重for循环来计算.要不然计算结果将是整个矩阵元素之和.
  
   最后改正后的代码是:
  

       #include<stdio.h>
     int main()
    {
       int i,j;
       int a[3][3];
       int s = 0,t = 0;
        for(i = 0;i < 3;i++)
          for(j = 0;j < 3;j++)
            scanf("%d",&a[i][j]);
       for(i = 0;i < 3;i++)
             s += a[i][i];
       for(i = 0;i < 3;i++)
             t += a[i][3-i-1];        //犯错点
          printf("%d %d",s,t);
       return 0 ;
      }

            
  这个题虽然不难,但是自己在不断调试改正程序的过程中也学到了很多,比如,之前很多时候都想不到要去写篇博客,从中也知道思考问题必须从多个方面出发,考虑全面.奋斗奋斗
  以后要常写博客,虽然自己还不知道博客具体要怎样去写,需要注意哪些方面.但是可以给自己留下宝贵的回忆,记忆深刻,也就不会犯类似的错误.微笑微笑

  • 23
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值