奇数阶等和幻方(很短)
#include <stdio.h> int main()
{
long nList[19][19],n=0,n1,n2,nh;
while(n%2==0)scanf("%d",&n);//输入阶数
for(n2=n*n,n1=0,nh=n/2;n1<n2;n1++)//计算生成
nList[(n1*(n-1)+nh+n1/n)%n][(n1+nh+1+n1/n)%n]=n1+1;
for(n2=0;n2<n;n2++)//结果输出
{
for(n1=0;n1<n;n1++)printf("%4d",nList[n2][n1]);
printf("\n");
}
return 0;
}
愚人看不懂红色那行代码。哪位高人进解一下。谢谢!!