『每日一题 2012-02-09』打印回形数 C语言实现
来源:互联网 发布:编译lua源码 编辑:程序博客网 时间:2024/06/03 12:28
2010-02-09
首先什么是回形数呢,我们先来看个例子你就明白了。
12345161718196152425207142322218131211109就是这样的一组数,形状像我们汉字中的“回”字。
解决方法:
下面的代码在VC++6.0中运行通过
#include <stdio.h>#define NUM 7int main(){enum direction{right,down,left,up};direction dir=(direction)0;int x=0,y=0;int a[NUM][NUM];for (int i=0;i<NUM;i++){for (int j=0;j<NUM;j++){a[i][j]=0;}}int index=1;for (int ge=0;ge<NUM*NUM;ge++){a[x][y]=index++;switch (dir){case right:y+=1;if(y>=NUM || a[x][y]!=0) //当坐标越界或者坐标已经有数时{dir=direction((dir+1)%4);y-=1;x+=1;}break;case down:x+=1;if(x>=NUM || a[x][y]!=0){dir=direction((dir+1)%4);x-=1;y-=1;}break;case left:y-=1;if(y<0 || a[x][y]!=0){dir=direction((dir+1)%4);y+=1;x-=1;}break;case up:x-=1;if(x<0 || a[x][y]!=0){dir=direction((dir+1)%4);y+=1;x+=1;}break;}}for (int m=0;m<NUM;m++){for (int n=0;n<NUM;n++){printf("%-3d",a[m][n]);if (n==NUM-1){printf("\n");}}}return 0;}
运行结果:
- 『每日一题 2012-02-09』打印回形数 C语言实现
- 『每日一题 2012-02-10』猴子选大王问题 C语言实现
- 每日一题 -- 不使用变量实现c语言的strlen函数
- 每日一题C
- acm算法--每日一题c语言1(趣味算式)
- 【C语言 每日一题】SOJ 1000 A-B
- 【C语言 每日一题】SOJ 1001 Alphacode
- 【C语言 每日一题】SOJ 1002 Anti-prime Sequences
- c语言进步之每日一题 1.排序
- c语言每日一练5
- c语言每日一练6
- c语言每日一练7
- 【20170924】C语言每日一练
- 【20170926】C语言每日一练
- 【20170927】C语言每日一练
- 【20170928】C语言每日一练
- 【20170929】C语言每日一练
- 【20171009】C语言每日一练
- OGNL1
- POJ 2128 Highways(我的水题之路——最小两条公路之和)
- 排序算法之插入排序
- android之小白过河二
- Oracle数据导入导出imp/exp
- 『每日一题 2012-02-09』打印回形数 C语言实现
- 虚拟化技术分析
- 什么叫贴片(电子元器件)
- Delphi - 字符串 详解
- [jsp]jsp复习重点
- 迈出从3K到1W的重要一步——掌握设计模式
- Socket 原理与使用
- 《鸿门宴传奇》是冯绍峰的传奇
- Nginx+Memcached+mysql+php