c程序设计,奇数魔方阵
#include <stdio.h>
void main()
{
int a[19][19]={0},i,j,k=1,n;//先初步定义一个数组
printf("enter n:");//n表示几行的魔方阵
scanf("%d",&n);
i=0;
j=n/2;
while(k<=n*n)
{
a[i][j]=k;
if(i==0)
if(j==n-1)
{
i++;
}
else
{
i=n-1;
j++;
}
else if(j==n-1)
{
i=i-1;
j=0;
}
else if (a[i-1][j+1]==0)
{
i--;
j++;
}
else
{
i++;
}
k++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%6d",a[i][j]);
}
printf("\n");
}
}
```c