以下是用TC写的填幻方的程序姿孝代码适用于16阶以内的幻方#include "stdio.h"main(){int n,i,j,k,x,y;char cn;static int t[16][16];loop: printf("输入幻方阶数 n (015)) {printf("此数不能构成告芦幻方 \n"); goto loop; } else {j=1; k=(n+1)/2; t[j][k]=1; x=j; y=k; for(i=2;i<(n*n+1);i++) {j=j-1; k=k+1; if((j<1)&&(k>n)) {j=j+2; k=k-1; } else {if(k>n) k=1; else if(j<1) j=n; } if(t[j][k]==0) t[j][k]=i; else {j=x+1; k=y; t[j][k]=i; } x=j; y=k; } }for(j=1;j<(n+1);j++) for(k=1;k<(n+1);k++) {printf("%4d",t[j][k]); if(k==n) printf("\迹友稿n"); t[j][k]=0; }getchar();printf("继续吗?");cn=getchar();if(cn=='y') goto loop;}结果如下47 58 69 80 1 12 23 34 4557 68 79 9 11 22 33 44 4667 78 8 10 21 32 43 54 5677 7 18 20 31 42 53 55 56 6 17 19 30 41 52 63 65 7616 27 29 40 51 62 64 75 526 28 39 50 61 72 74 4 1536 38 49 60 71 73 3 14 2537 48 59 70 81 2 13 24 35