C语言
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <malloc.h>
int
main()
{
int
m;
while
(
scanf
(
"%d"
,&m)!=EOF)
{
int
t=1,x=0,y=m-1,i,j;
int
a[51][51]={0};
a[0][m-1]=1;
while
(t<m*m)
{
while
(x+1<m&&!a[x+1][y]) a[++x][y]=++t;
while
(y-1>=0&&!a[x][y-1]) a[x][--y]=++t;
while
(x-1>=0&&!a[x-1][y]) a[--x][y]=++t;
while
(y+1<m&&!a[x][y+1]) a[x][++y]=++t;
}
for
(i=0;i<m;i++)
{
for
(j=0;j<m;j++)
{
if
(j==0)
printf
(
"%d"
,a[i][j]);
else
printf
(
" %d"
,a[i][j]);
}
printf
(
"\n"
);
}
printf
(
"\n"
);
}
}
Problem H: 蛇形填阵
最新推荐文章于 2020-12-14 20:47:47 发布