满意答案
ajiarenbk
2013.11.09
采纳率:56% 等级:12
已帮助:5086人
/*15 阶内奇数魔方阵C程序*/
#include
main()
{
int a[16][16],i,j,m,n;
printf("\n请输入阶数");
IN: scanf("%d",&n);
if (n>15 ) goto IN ;
if(0==n%2) n++;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
i=1; j=n/2 +1;
a[i][j]=1;
for(m=2;m<=n*n;m++)
{ i--; j++;
if (j>n && i<1)
{ i=2 ; j=n ; }
else
if(i<1) i=n ;
if(j>n) j=1;
if (a[i][j]!=0)
{
i=i+2; j= j-1;}
a[i][j]=m;
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
printf(" %4d",a[i][j]);
printf("\n");
}
getch();
}
00分享举报