蛇形填数 / 回形填数

#include <stdio.h>
#define N 5

int a[N][N] = { 0 };
int main(void){
  int x, y, tot = 0;
  tot = a[x = 0][y = N-1] = 1;

  while( tot < N*N ){
    while( x+1 < N && !a[x+1][y] )
      a[++x][y] = ++tot;
    while( y-1 >= 0 && !a[x][y-1] )
      a[x][--y] = ++tot;
    while( x-1 < N && !a[x-1][y] )
      a[--x][y] = ++tot;
    while( y+1 < N && !a[x][y+1] )
      a[x][++y] = ++tot;
  }

  for (x = 0; x < N; x++){
    for (y = 0; y < N; y++)
      printf("%d", a[x][y]);
    printf("\n");
  }
  return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • burglar阅读 3,064评论 0 0
  • 日复一日,年复一年,每天都是那样循环往复的度过,可能有些无聊,有些厌倦,但总会发生一些非比寻常的事。 今天,是放假...
    梦幻舒阅读 3,157评论 3 4
  • 一懈怠,就三天没写晨读感悟,两天没参与每日话题了,想到几天前立过的改变自己的flag,心里一阵小失望。 但没关系,...
    一颗颗苹果阅读 1,504评论 2 4
  • 年轻人想成事就得对自己很点 不合适,不占便宜就不干活,惜力的人永远是算计自己 体验:干就完了,回报是早晚的事儿
    京心达张新波阅读 1,054评论 0 0

友情链接更多精彩内容