问答详情
源自:6-11 多维数组的遍历

也可以直接通过I+j判断是否是偶数来判断对角线吧

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

代码如上,在其他地方验证过可以,答案也正确,为什么在这里总是会被提示检查代码呢,而且我打例程进去也是提示检查代码?

提问者:海狼鱼 2017-07-06 16:08

个回答

  • 阿佳_
    2017-07-07 18:14:21
    已采纳

    不可以直接通过I+j判断是否是偶数来判断对角线,例如你把这个3*3的二维数组变成一个4*4的二维数组,那你的这个做法就不对了

  • qq_SpadY诺倾_0
    2018-06-14 15:37:49

    那最后就是否定了这个答案吗?


  • 慕标122149
    2017-07-30 17:53:36

    如果你把3*3变成4*4,你会发现标准答案也是错的,所以,你的答案没问题

  • Mrwhatsup
    2017-07-17 16:57:36

    对角线的坐标:arr[i][j]  ,   i=j 或 i+j等于阶数?