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

请问这么写可以吗?

#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++)

    {

        j=i;

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

    }

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

    return 0;    

}


提问者:蔡大力 2016-01-24 09:42

个回答

  • 陈丹凤
    2016-01-24 16:11:35

    对角线的元素分别是arr[0][0],arr[0][2],arr[1][1],arr[2][0],arr[2][2]。

    你代码中的条件j=i明显不符合。

    #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%2==0&&j%2==0)

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

            }

        }

        sum=sum+arr[1][1];

        printf("对角线的和:%d",sum);

    }