记录一个螺旋方阵🌼

///////////////////////////////////代码如下:
#include <stdio.h>
main()
{
int c=1,x=0, y=0,n, a[10][10]={0};
scanf("%d", &n);
a[x][y] = 1;
while(n*n!=c)
{
while(y+1<n && !a[x][y+1] )
a[x][++y] = ++c;
while(x+1<n && !a[x+1][y])
a[++x][y] = ++c;
while(y-1>=0 && !a[x][y-1])
a[x][--y] = ++c;
while(x-1>=0 && !a[x-1][y])
a[--x][y] = ++c;
}
for(x=0;x<n;x++)
{
for(y=0;y<n;y++)
{
printf("%3d", a[x][y]);
}
printf("\n");
}
}

————————————————
版权声明:本文为CSDN博主「许啊闫呀婷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xyt02201608/article/details/80219200

////////////////////////////////

其中新学得的知识:

!a[x][y]意思为当a[x][y]不等于0时进入循环;

--x或++x都是x本身加一后开始运算;

posted @ 2021-11-18 10:53  Q·K  阅读(45)  评论(0编辑  收藏  举报