您的位置:首页 > 编程语言 > C语言/C++

螺旋队列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;
}



运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐