一道数组的题,帮我看看哪里出错啦

来源:百度知道 编辑:UC知道 时间:2024/07/07 22:01:31
编写程序,求一个整型4*4矩阵的两条对角线元素之和。
我的做法:
#include<stdio.h>
main()
{
int i,j,sum,a[4][4]={{1,2,3,4},{5,6,7,8},{1,2,3,4},{5,6,7,8}};
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{while(i==j||i+j==3)
sum=sum+a[i][j];
printf("%d",a[i][j]);
printf("%d",sum);
}
}

#include<stdio.h>
main()
{
int i,j,sum=0,a[4][4]={{1,2,3,4},{5,6,7,8},{1,2,3,4},{5,6,7,8}}; //sum要初始化
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf(" %d ",a[i][j]);
if(i==j||i+j==3) sum=sum+a[i][j]; //if才是条件语句
}
printf("\n");

}

printf("SUM=%d\n",sum);
}

何苦硬要写在2个for里,分开写只有简单。

#include<stdio.h>

main()
{
int i,j,sum=0,a[4][4]={{1,2,3,4},{5,6,7,8},{1,2,3,4},{5,6,7,8}};

for(i=0; i<4; i++)
{
sum += a[i][i];
}

for(i=3,j=0; i>=0; i--,j++)
{
sum+=a[i][j];
}

printf("%d\n",sum);

}

已经正确运行

#include<stdio.h>
main()
{
int i,j,sum=0,a[4][4]={{1,2,3,4},{5,6,7,8},{1,2,3,4},{5,6,7,8}};
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i==j||i+j==3) sum=sum+a[i]