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

来源:6-11 多维数组的遍历

海狼鱼

2017-07-06 16:08

#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;    
}

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

写回答 关注

4回答

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

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

    海狼鱼 回复阿佳_

    嗯嗯好哒,谢谢你

    2017-07-07 21:38:29

    共 3 条回复 >

  • 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等于阶数?

    海狼鱼

    是的,这应该可以适用于所有阶的矩阵

    2017-07-17 21:01:45

    共 1 条回复 >

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题