为了账号安全,请及时绑定邮箱和手机立即绑定

如何简单实现

    for(i=0;i<3;i++)

    {

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

       {

           if(i==j||i+j==2)

           {

               sum+=arr[i][j];

           }

       }

      

    }


正在回答

4 回答

if((i+j)%2==0)

岂不是跟简单


0 回复 有任何疑惑可以回复我~
#1

环球学习机

他这种从设计角度上来说更容易扩展,当length不固定时,对于正矩形来说这种方法更合适。你的这个可能就被限制在length=3的死角了。附上正矩形对角线之和的代码: for(i=0;i<length;i++) { for(j=0;j<length;j++) { if(i == j || i == length-1-j) { sum += arr[i][j]; }else { continue; } } }
2020-03-19 回复 有任何疑惑可以回复我~

答案已附上,这个应该是最简单的

1 回复 有任何疑惑可以回复我~
#1

EnvyCode

可以不用遍历
2020-02-12 回复 有任何疑惑可以回复我~

好吧我错了 没看到他下一步又加上了 我的不对 如果元素不是基数的话就错了

0 回复 有任何疑惑可以回复我~
#1

小小鱼瑶 提问者

我这样写是最简单的,我想自问自答的,结果他不给我回答,就把答案写上来了,你可以试试我这个。
2019-12-06 回复 有任何疑惑可以回复我~
#2

小小鱼瑶 提问者

不是奇数也不会错,你可以试试,我验证过了
2019-12-06 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

    int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

    int i,j;

    int sum=0;

    for(i=0;i<3;i++)

    {

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

       {

          if(arr[i][j]%2!=0)

          {

              sum += arr[i][j];

          }

        // if(i%2==0 && j%2==0) // 给的答案是错的 对角线中间的5没有

            // sum += arr[i][j];  

       }

    

    }

    printf("对角线元素之和是:%d\n",sum);

    return 0;    

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

如何简单实现

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信