#include<stdio.h>
int main()
{
int a[21][21]={0};
int i,j,t,n;
printf("Please input a number:");
scanf("%d",&n);
if(n%2==0)
printf("The magic is not exsited");
else
{
for(i=0,j=(n-1)/2,t=1;t<=n*n;t++)
{a[i][j]=t;
if(t%n==0)
{
i++;
}
else
{
i--;
j++;
if(i==-1)
i=n-1;
if(j==n)
j=0;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%6d",a[i][j]);
printf("\n");
}
}
return 0;
}
这是一个输出魔方阵的程序,虽然搜到了怎么确定每一个数的的位置以及偶数不存在魔方阵的,但是还是没有弄明白为什么自己可以这样确定魔方阵数的位置
果然数学不好就是编程时的硬伤啊...暗自发誓好好学习数学