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

如何简单实现

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

    {

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

       {

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

           {

               sum+=arr[i][j];

           }

       }

      

    }


提问者:小小鱼瑶 2019-12-04 14:22

个回答

  • Mr小超ya
    2020-02-25 12:17:59

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

    岂不是跟简单


  • 小小鱼瑶
    2019-12-06 18:18:13

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

  • weixin_慕雪8055451
    2019-12-06 18:13:56

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

  • weixin_慕雪8055451
    2019-12-06 18:11:43

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

    }