为什么我的运行结果是错的?
程序代码:
#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; }
麻烦各位大神帮我看看程序哪错了?正确结果是魔方矩阵,但我的结果是不是魔方矩阵,找不到出错点~~~