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

为什么输出会是8.....

#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==i) || (j<3 && i+j==2);j++)
       {
           sum+=arr[i][j];
       }
      
      
      
      
    }
    printf("对角线元素之和是:%d\n",sum);
    return 0;   
}

正在回答

2 回答

条件判断用这个 我感觉简单点  

小编这个最后还要加(1,1) 我写了个条件 不用加中心点

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


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

慕粉1329125497

同你的写法,看完答案感觉答案有点麻烦了
2020-01-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(i==j || i+j==2)
           sum+=arr[i][j];
       }
      
      
      
      
    }
    printf("对角线元素之和是:%d\n",sum);
    return 0;   
}怎么这就可以??


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

举报

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

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

进入课程

为什么输出会是8.....

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