请老手给个更好的算法 谢谢!
5*5的魔方阵代码!感觉算法有点生硬,小弟初学者想看看更简单明了的算法,谢谢#include <stdio.h>
#include <math.h>
void main()
{
int a[5][5]={{0,0,1}};
int i,j,t=1;
i=0;
j=2;
a[i][j]=t;
while(t<=25)
{
a[i][j]=t;
t=t+1;
if(i==0&&j<4)
{
j=j+1;
i=i+4;
a[i][j]=t;
}
else if(j==4&&i!=0)
{
i=i-1;
j=j-4;
a[i][j]=t;
}
else if(i==0&&j==4&&a[i+4][j-4]>0)
{
i=i+1;
j=j-0;
a[i][j]=t;
}
else if(a[i-1][j+1]>0)
{
i=i+1;
j=j+0;
}
else if(i>0&&j<4)
{
i=i-1;
j=j+1;
}
printf(" i=%d j=%d t=%d ",i,j,t);
}
for(i=0;i<5;i++)
{
printf("\n");
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}