幻方矩阵或魔方矩阵的思路!
幻方矩阵或魔方矩阵,每行每列之和都相等!用C的解题思路,有什么规律?
# include <stdio.h> int main(void) { int i,j,n,k,a[100][100]={0}; do{ printf("n="); scanf("%d",&n); }while(n<3||n%2==0); for(i=0,j=n/2,k=1;k<=n*n;k++) { a[i][j]=k; if(a[i+(i!=0?-1:n-1)][j+(j!=n-1?1:-j)]) /* 判断下个存放的位置是否被占 */ i++; else /* 如下个位置没被占,指向下个位置 */ i=i!=0?i-1:n-1,j=j!=n-1?j+1:0; } for(i=0;i<n;i++) /* 输出 */ {for(j=0;j<n;j++) printf("%5d",a[i][j]); printf("\n\n"); } getch(); return 0; }