#include int main() { int a[5][5],i,j,s,s0,s1; printf("请逐行输入5*5魔方的数值\n"); for(i=0;i<=4;i++) { for(j=0;j<=4;j++) { scanf("%d",&a[i][j]); } } for(i=0,j=0,s=0;i<=4;i++) { s+=a[i][j]; } for(i=0;i<=4;i++) { for(j=0,s0=0,s1=0;j<=4;j++) { s0+=a[i][j]; s1+=a[j][i]; } if(s0!=s||s1!=s) { printf("No\n"); return 0; } } for(i=0,j=0,s0=0,s1=0;i<=4;i++,j++) { s0+=a[i][j]; s1+=a[i][4-j]; } if(s0!=s||s1!=s) { printf("No\n"); return 0; } for(i=0;i<=4;i++) { for(j=0;j<=4;j++) { printf("%-3d",a[i][j]); } printf("\n"); } system("pause"); return 0; }\\测试可行