题目:

方阵的主对角线之上称为“上三角”。

请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3……的自然数列,从上三角开始,按照逆时针方向螺旋填充。

例如:当n = 3时,输出:

1 2 3

6 4

5

当n = 4时,输出:

1   2  3  4

9  10 5

8    6

7

当n = 5时,输出

1    2     3    4    5

12  13   14    6

11  15     7

10    8

9

题目分析:本题较为简单,从上题可以分析出按顺时针旋转的时候一共有三个方向,向右,向左下,以及向上,

如果碰到边界或者之后的方向已经被填充时,方向变换为下一个方向即可。

代码如下:

#include<stdio.h> #include<stdlib.h> int **a; void problem8(int n) { int i=0,j=0,flag = 0; int curr; for(curr = 1; curr <= n * (n+1) / 2; curr++) { switch(flag) { case 0: if(j == n - 1 || a[i][j+1] != 0) { flag = 1; a[i][j] = curr; i++; j--; } else { a[i][j] = curr; j++; } break; case 1: if((j == 0 && i == n - 1) || a[i+1][j-1] != 0) { flag = 2; a[i][j] = curr; i--; } else { a[i][j] = curr; i++; j--; } break; case 2: if(i == 0 || a[i-1][j] != 0) { flag = 0; a[i][j] = curr; j++; } else { a[i][j] = curr; i--; } break; } } } void main() { int i,j,n; scanf("%d",&n); a = (int**)malloc(sizeof(int*) * n); for(i = 0; i < n; i++) a[i] = (int*)malloc(sizeof(int) * n); for(i = 0; i < n; i++) for(j = 0; j < n - i; j++) a[i][j] = 0; problem8(n); for(i = 0; i < n; i++) { for(j = 0; j < n - i; j++) printf("%4d",a[i][j]); printf("/n"); } }

第二届国信蓝点杯 c语言 本科组 赛题分析 第8题相关推荐

  1. 第二届国信蓝点杯 c语言 本科组 赛题分析 第9题

    题目: 公司发了某商务券1000元,限定只能购买商店中的m种商品.每种商品的价格为m1,m2--,要求程序列出所有正好能消费完该购物券的不同方法: 程序输入: 第一行是一个整数m,代表可购买商品的种类 ...

  2. 标题 错误票据c语言,内含答案的 -- 2013蓝桥杯C语言本科组B.doc

    内含答案的 -- 2013蓝桥杯C语言本科组B.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们 ...

  3. 国信蓝点杯C语言高职高专组考试题目--记不太清了,大致就这些题目

    1:小王有1000元钱,存入银行年利率为3%且利息自动转入本金,但每年年底为贫困灾区捐款100元,问五年后小王还有多少钱? 2:求2的平方根 (1)可自定一个值给x0作为初值,在此,取a/2作为x0的 ...

  4. 第二届国信蓝点模拟试题

    java模拟抽奖(要求:空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确.完整.所填写的代码不多于一条语句(即不能出现分号).) 代码填空(满分5分) 电视台开宝箱节目: ...

  5. 蓝桥杯2014C语言A组赛题解析

    切面条    一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条.如果连续对折2次,中间切一刀,可以得到5根面条.那么,连续对折10次,中间切一刀,会得到多少面 ...

  6. 蓝桥杯java初赛本科组,2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题...

    这是2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题的完整版 2012第三届蓝桥杯软件大赛Java语言本科组初赛试题 (说明:1-4题为结果填空,5-7为程序填空,8-10为 ...

  7. 国信蓝点杯第二届(2011)C语言大赛样题整合

    http://blog.sina.com.cn/s/blog_44e1ec3801018d3r.html 国信蓝点杯第二届(2011)C语言大赛样题整合(2012-12-26 08:49:16) 比赛 ...

  8. 蓝桥杯7届c语言 c组答案,第七届蓝桥杯C语言C组-(自己懂的题目)

    第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球 ...

  9. 数组三元数c语言程序,递增三元数组——第九届蓝桥杯C语言B组(省赛)第六题...

    原创 标题:递增三元组 给定三个整数数组 A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN], 请你统计有多少个三元组(i ...

最新文章

  1. ecshop的商品列表输出中多出一条空记录
  2. c汇编语言例题,汇编语言例题分析.doc
  3. 管理工作中的50点感悟
  4. number2chinese php,php 数字转换为中文
  5. C++面向对象高级编程(上) 第一周 侯捷
  6. 《C++ Primer Plus》14.2 私有继承 学习笔记
  7. 阿里HBase的GC优化实践,能够降低java垃圾回收时间!
  8. Code Project精彩系列(1)
  9. 设计模式之-生成器模式
  10. 入门OJ 3168【等式】
  11. nina数据库的采样频率_急求!!!什么是时域采样定理和频域采样定理?
  12. 华三H3C交换机路由器如何配置dhcp中继(dhcp relay)
  13. 面朝大海——我的2016
  14. rsa私钥 txt转化为pem格式
  15. php 处理png图片白色背景色改为透明色
  16. uboot编译中遇到的错误
  17. 待办事项桌面_Win干货 | 电脑桌面清单助手
  18. BlackBerry应用商店(App World)
  19. 下一代网络:大道至“简”
  20. p2p显示kad能连接 服务器未连接,P2P连不上kad网络怎么办

热门文章

  1. hao123网站需要服务器吗,我已经设置“www.hao123.com”为我的主页了,可是打开IE还是“http://www.k986.com/”这个网站,也查不出毒,怎么办?...
  2. 解决Qt6 Android 开发中 Qtkits 前有黄色感叹号问题
  3. 推荐系统遇上深度学习(三) Deep Feedback Network for Recommendation(草稿)
  4. SPI全双工通信解读和调试问题分析汇总
  5. 共享网络获取树莓派ip_用优盘共享文件多不方便,简单几步用树莓派搭建个私有云盘...
  6. STM32F4-SPI
  7. sql null与空
  8. 中国企业外派员工:赚钱赚经验一举两得
  9. 苹果android投屏,如何将iPhone手机投屏到电脑电视?
  10. # | GitHub高效开源神器