螺旋队列C++代码实现实例及运行结果
2018-01-14 23:54
288 查看
实现螺旋队列,并且输入任意坐标时输出对应的值
c++代码
#include <iostream>
#include<iomanip>
#define max(a,b) ((a>b)?a:b)
#define abs(a) ((a>0)?a:(-a))
using namespace std;
int fun(int x,int y)
{
int t=max(abs(x),abs(y));
int u=t+t;
int v=u-1;
v=v*v+u;
if(x==-t)
v+=u+t-y;
else if(y==-t)
v+=3*u+x-t;
else if(y==t)
v+=t-x;
else
v+=y-t;
return v;
}
int main()
{
int x,y;//x,y为坐标
for(y=-4;y<=4;y++)
{
for(x=-4;x<=4;x++)
cout<<setw(3)<<fun(x,y);//setw(n)设置n个域宽
cout<<endl;
}
while(1)
{
cout<<endl<<"请输入x,y的值,输入10000时结束程序"<<endl;
cin>>x;
if(x==10000)
break;
cin>>y;
cout<<fun(x,y);
}
return 0;
}
运行结果
c++代码
#include <iostream>
#include<iomanip>
#define max(a,b) ((a>b)?a:b)
#define abs(a) ((a>0)?a:(-a))
using namespace std;
int fun(int x,int y)
{
int t=max(abs(x),abs(y));
int u=t+t;
int v=u-1;
v=v*v+u;
if(x==-t)
v+=u+t-y;
else if(y==-t)
v+=3*u+x-t;
else if(y==t)
v+=t-x;
else
v+=y-t;
return v;
}
int main()
{
int x,y;//x,y为坐标
for(y=-4;y<=4;y++)
{
for(x=-4;x<=4;x++)
cout<<setw(3)<<fun(x,y);//setw(n)设置n个域宽
cout<<endl;
}
while(1)
{
cout<<endl<<"请输入x,y的值,输入10000时结束程序"<<endl;
cin>>x;
if(x==10000)
break;
cin>>y;
cout<<fun(x,y);
}
return 0;
}
运行结果
相关文章推荐
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 螺旋队列C++代码实现实例及运行结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果