首页 > 代码库 > 蛇形填数
蛇形填数
/*蛇形填数
输入一个n,将1-n*n全部输入,例如,当n=5时,输出:
13 14 15 16 1
12 23 24 17 2
11 22 25 18 3
10 21 20 19 4
9 8 7 6 5
*/
#include<stdio.h>
int a[100][100]={0};
int main()
{
int x,y,i,j,p,n;
scanf("%d",&n);
p=a[x=0][y=n-1]=1;
while(p<n*n)//注意是++x,++y;
{
while(x+1<n&&!a[x+1][y]) a[++x][y]=++p;
while(y-1>=0&&!a[x][y-1]) a[x][--y]=++p;
while(x-1>=0&&!a[x-1][y]) a[--x][y]=++p;
while(y+1<n&&!a[x][y+1]) a[x][++y]=++p;
}
for(x=0;x<n;x++)
{
for(y=0;y<n;y++)
{
printf("%3d",a[x][y]);
}
printf("\n");//注意换行
}
while(1);
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。