打印螺旋数阵的一种实现
2013-12-08 23:32
204 查看
#include <iomanip> #include <iostream> const int N = 5; int arr ; int main() { int var = N; int count = 0; int i = 0; int j = 0; int k = 0; while(var > 0) { for(k=0; k<var; k++) { arr[i][j++] = ++count; } var--; j--; for(k=0; k<var; k++) { arr[++i][j] = ++count; } for(k=0; k<var; k++) { arr[i][--j] = ++count; } var--; for(k=0; k<var; k++) { arr[--i][j] = ++count; } j++; } for(i=0; i<N; i++) { for(j=0; j<N; j++) { cout<<setw(2)<<arr[i][j]<<" "; } cout<<endl; } return 0; }
结果如下:
类似的另外一种实现:
const int N = 6; int a ; int main() { int i = 0; int j = 0; int count = 0; int num = (N+1) / 2; int numin = N-1; int x = 0; int y = 0; for(i=0; i<num; i++) { for(j=0; j<numin; j++) { a[x][y++] = ++count; } for(j=0; j<numin; j++) { a[x++][y] = ++count; } for(j=0; j<numin; j++) { a[x][y--] = ++count; } for(j=0; j<numin; j++) { a[x--][y] = ++count; } x++; y++; numin -= 2; if(numin == 0) { a[x][y] = ++count; break; } } for(i=0; i<N; i++) { for(j=0; j<N; j++) { printf("%2d ", a[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- Windows Phone 7 开发环境的搭建
- C# POST数据到指定页面,并跳转至该页面
- Object9
- uboot 移植
- Eclipse插件篇——Tomcat
- shell read
- memcached应用
- Spring声明式事务配置管理方法(查找总结)
- JAVA获取CLASSPATH路径
- Apache(Web)服务器性能调整
- 用java实现对文件夹的拷贝
- Java主线程等待子线程、线程池
- DirectX9.0 Direct3D Graphics Pipeline 总结 - 雨霖林
- Mac OSX系统下SVN客户端SCPlugin问题
- 抽象类的学习笔记
- 百度地图官方API
- 百度地图官方API
- 第十三天【java虐我千百遍,我待java如初恋】
- fzu 1402 猪的安家
- vs2012 +WP8sdk 开发WP8应用