螺旋矩阵(C语言)
发布日期:2021-11-15 21:44:10
浏览次数:1
分类:技术文章
本文共 1302 字,大约阅读时间需要 4 分钟。
题目描述:
从中心向外螺旋
Problem Description
bLue 有一个长度为 nn 的序列,现在他想把这个序列填到一个 nn 的螺旋矩阵中,你能帮助他吗?
Input输入数据有多组(数据组数不超过 20),到 EOF 结束。
对于每组数据: 第 1 行输入 1 个奇数 n (1 <= n <= 9, n%2 = 1) 第 2 行输入 n*n 个用空格隔开的整数(范围 [0, 100]),表示初始序列 Output对于每组数据,输出一个 n*n 的矩阵,同一行内相邻整数之间用一个 ‘\t’ 隔开。每组数据结尾额外输出一行空行。
Sample Input
3 1 2 3 4 5 6 7 8 9 5 5 3 2 4 8 7 1 6 9 10 11 12 13 14 15 16 17 18 19 20 21 25 27 29 33Sample Output
7 8 9 6 1 2 5 4 321 25 27 29 33
20 1 6 9 10 19 7 5 3 11 18 8 4 2 12 17 16 15 14 13Hint
仔细观察示例,填螺旋矩阵时,初始位置为矩阵中心,按照向右、向下、向左、向上的顺序,把序列中的数从内到外一圈一圈填入矩阵中即可。代码实现:
#includeint main(){ int i,j,n; int a[1000][1000]; int b[1000]; while(scanf("%d",&n)!=EOF) { for(i=0;i =n/2-i+1;j--) //向左填充 { a[n/2+i+1][j]=b[y++]; } for(j=n/2+i;j>=n/2-i+1;j--) //向上填充 { a[j][n/2-i+1]=b[y++]; } for(j=n/2-i+2;j<=n/2+1+i;j++) //向右填充 { a[n/2-i+1][j]=b[y++]; } } for(i=1;i<=n;i++) //输出 { for(j=1;j<=n;j++) { if(j==n) printf("%d\n",a[i][j]); else printf("%d\t",a[i][j]); } } printf("\n"); } return 0;}
转载地址:https://blog.csdn.net/qq_43419016/article/details/89735629 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年03月16日 15时46分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
chmod 赋权所有_chmod 权限 命令详细用法
2019-04-21
html代码翻译_[译]您知道 HTML 的键盘标签吗?
2019-04-21
html抽奖代码_JavaScript高手之路:封装抽奖效果
2019-04-21
的流程图做完后如何保存_2019超火的半永久眉是哪款?做完后我们如何护理?...
2019-04-21
去除logo 高德地图api_深圳品牌logo升级如何保持原型的同时更具创新?
2019-04-21
二重积分转换成极坐标_二重积分转换极坐标r的范围如何确定?
2019-04-21
python中倒背如流_八字基础知识--倒背如流篇
2019-04-21
以太坊地址和公钥_以太坊地址是什么
2019-04-21
npm 不重启 全局安装后_解决修复npm安装全局模块权限的问题
2019-04-21
vs格式化json 不生效_vs code 格式化 json 配置
2019-04-21
go 字符串反序列化成对象数组_Fastjson 1.2.24反序列化漏洞深度分析
2019-04-21
hibernate mysql 缓存_hibernate和mysql的缓存问题,没辙了!
2019-04-21
abp框架 mysql_ABP框架使用Mysql数据库
2019-04-21
mysql树形递归删除_使用递归删除树形结构的所有子节点(java和mysql实现)
2019-04-21
linux mysql 不能连接远程_linux mysql 远程连接
2019-04-21
install python_Install python on AIX 7
2019-04-21