博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蛇形填数
阅读量:6802 次
发布时间:2019-06-26

本文共 1118 字,大约阅读时间需要 3 分钟。

练习:

南邮

 

 

/** * 让我们从1开始依次填写。设“笔”的坐标为(x,y),则一开始x=0,y=n-1,即第0行,第n-1列(别忘了行列的范围是0到n-1,没有第n列). * “笔”的移动轨迹是:下,左,上,右。总之,先是下,到不能填了为左,接着是上,最后是右。 * “不能填”是指再走就出界了,或者再走就要走到以前填过的格子。如果我们把所有格子初始化为0,就能很方便地加以判断。 */#include
#include
#define MAXN 65int arr[MAXN][MAXN];int main() { int n, x, y, i, j, cn; while (~scanf("%d", &n)) { memset(arr, 0, sizeof(arr)); cn = arr[x = 0][y = n - 1] = 1; while (cn < n * n) { while ((x + 1 < n) && (!arr[x + 1][y])) { arr[++x][y] = ++cn; } while ((y - 1 >= 0) && (!arr[x][y - 1])) { arr[x][--y] = ++cn; } while ((x - 1 >= 0) && (!arr[x - 1][y])) { arr[--x][y] = ++cn; } while ((y + 1 < n) && (!arr[x][y + 1])) { arr[x][++y] = ++cn; } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf("%5d", arr[i][j]); } printf("\n"); } } return 0;}

 

转载于:https://www.cnblogs.com/xiaoxian1369/archive/2012/10/17/2727768.html

你可能感兴趣的文章
nginx 500 error
查看>>
Cocos2d基础笔记
查看>>
iptables 防火墙基础知识
查看>>
mac下安装redis以及redis扩展-----xampp
查看>>
课后作业-阅读任务-阅读提问-1
查看>>
国产CPU走到十字路口:谁来取代英特尔芯片?
查看>>
Android控件----Menu和Toast
查看>>
GPRS模块AT呼叫控制命令
查看>>
浅谈Iterator iterable
查看>>
kvm_博文大纲
查看>>
SpringBoot RESTful 应用中的异常处理小结
查看>>
OA发展新10年 泛微率先打“落地”牌
查看>>
一定要睡个好觉——有一个重要的原因!
查看>>
我的友情链接
查看>>
md5加密
查看>>
Elastix2.3安装与配置
查看>>
数据的载体
查看>>
软件架构--分享软件架构图
查看>>
用电脑自带画图工具加字方法
查看>>
惠普服务器10年中的五大错五大幸
查看>>