为什么我的运行结果是错的?
程序代码:#include<stdio.h>
main()
{
int i,j,flag,s,sum=0;
int a[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}};
printf("矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(j=0;j<5;j++)
{
sum=sum+a[0][j];
s=sum;
}
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<5;j++)
{
sum=sum+a[i][j];
}
if(sum!=s)
{
flag=0;
break;
}
}
if(flag==1)
{
for(j=0;j<5;j++)
{
sum=0;
for(i=0;i<5;i++)
{
sum=sum+a[i][j];
}
if(sum!=s)
{
flag=0;
break;
}
}
}
if(flag==1)
{
sum=0;
for(i=0;i<5;i++)
{
sum=sum+a[i][i];
}
if(sum!=s)
{
flag=0;
}
}
if(flag==1)
{
sum=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if((i+j)==4)
{
sum=sum+a[i][j];
}
}
}
if(sum!=s)
{
flag=0;
}
}
if(flag==1)
printf("是魔方矩阵\n");
else
printf("不是魔方矩阵\n");
return 0;
}麻烦各位大神帮我看看程序哪错了?正确结果是魔方矩阵,但我的结果是不是魔方矩阵,找不到出错点~~~








