/C语言入门小白刚学完数组奇数次二阶幻方练习题/
#include<stdio.h>
int main()
{
int a[99][99],newX,newY;
int i,j,x,y,n;
printf("Enter size of magic square:");
scanf("%d",&n);
x=0;
y=(n-1)/2;
a[0][y] = 1;
for(i=2;i<=n*n;i++){
newX=x-1;
newY=y+1;
if(newX<0){
newX=n-1;
}
if(newY==n){
newY=0;
}
if(a[newX][newY]!=0){
newX=x+1;
newY=y;
}
a[newX][newY]=i;
x=newX;
y=newY;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}