画图
来源:互联网 发布:剑雨江湖灵武进阶数据 编辑:程序博客网 时间:2024/04/30 05:38
题目:实现如图输出
int i=5;
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
int i=6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
程序:
#include<iostream>
using namespace std;
void right(int,int,int,int*,int);
void down(int,int,int,int*,int);
void left(int,int,int,int*,int);
void up(int,int,int,int*,int);
int main(){
int a;
cin>>a;
int num=1;
const int size=a*a;
int array[size];
int i=a;
int off=0;
for(;i>0;i-=2,++off){
right(off,num,i,array,a);
num+=i;
down(off,num,i-1,array,a);
num+=i-1;
left(off,num,i-1,array,a);
num+=i-1;
up(off,num,i-2,array,a);
num+=i-2;
}
for(int i=0;i<a;i++){
for(int j=0;j<a;j++)cout<<array[i*a+j]<<'';
cout<<endl;
}
char pause;
cin>>pause;
return 0;
}
void right(int o,int n,int i,int* a,int s){
for(int j=0;j<i;++j,++n){
a[o*s+o+j]=n;
}
}
void down(int o,int n,int i,int* a,int s){
for(int j=0;j<i;++j,++n){
a[(o+2)*s-o-1+j*s]=n;
}
}
void left(int o,int n,int i,int* a,int s){
for(int j=0;j<i;++j,++n){
a[s*(s-o)-o-2-j]=n;
}
}
void up(int o,int n,int i,int* a,int s){
for(int j=0;j<i;++j,++n){
a[s*(s-o-1)-(j+1)*s+o]=n;
}
}
- 画图:
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 画图
- 盖莫游戏引擎2.1.1的镜头光
- Visual C++ ADO数据库编程入门
- vs2005下配置DX9开发环境
- EclipseRCP中为表格加上序号列
- 算法研究之插入排序
- 画图
- 组织行为学笔记:第六章 组织气氛与行为模式
- 抱怨颇多、感悟颇多
- XML
- 编程方式安装.apk文件
- 将指定文件夹下结构相同的EXCEL文件(支持2003和2007版本)批量导入到SQL数据库中指定的表
- Attention! Scammers !!!
- 图文讲解:Qt 4中工程和变量名中不可以使用的符号总结(英文字符共20种,中文字符不可用)-Qt Creator的智能提示是有限的
- 在Eclipse中调用Problems Viewer的接口