巨人网络游戏程序员面试题

巨人网络游戏程序员面试题

ID:6882501

大小:85.50 KB

页数:11页

时间:2018-01-29

巨人网络游戏程序员面试题_第1页
巨人网络游戏程序员面试题_第2页
巨人网络游戏程序员面试题_第3页
巨人网络游戏程序员面试题_第4页
巨人网络游戏程序员面试题_第5页
资源描述:

《巨人网络游戏程序员面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程师笔试试题笔试时间:三小时内姓名:余文瑛开始时间:08:10完成时间:11:10(解题前,请首先写设计思路。)(请自行解答,一旦发现抄袭,笔试成绩取消。)第一题:写一个函数,交换两个变量的值,不使用第三个变量。如a=3,b=5,交换之后a=5,b=3;答:描述:不使用新的空间,那么只能使用原来的变量‘记忆’旧的数据,由voidswap(int*a,int*b)//C++语言描述{*a=*a+*b;*b=*a-*b;*a=*a-*b;}第二题:编程求两个矩形的相交矩形分别输入两个空间中两个矩形的左上角坐标x,y,以及宽(width)高(heig

2、ht),如果两个矩形有相交,输出相交的矩形左上角,右下角坐标,x1,y1,x2,y2例如:键盘输入:0,0,100,10020,20,100,40输出:20,20,100,60算法描述:我们将平面上的两个矩形分为左右两边,将左上角的横坐标较小的那个矩形看成’左边’矩形,较大的为右边矩形。对于输入的rect1和rect2,如果rect2.p1.x大于rect2.p1.x则交换他们的位置.我们用R1表示左边巨型,R2表示右边矩形那么他们的相对位置有4种情况:(1)R1右部上下两个顶点均//被包含在R2中(2)R2左部上下两个定点均被包含在R1中(3)R1

3、右上方顶点被包含在右部矩形中,而右下角不在(4)R1的右下角顶点被R2包含,而右上角不在其中在(3)(4)种,还要分两种情况计算.#includeusingnamespacestd;//为了保证安全性,一般将类的成员访问属性设置为private,通过相关的属性(函数进行访问),但本例中//为了简便,将部分成员直接设置为public访问属性classPoint//定义点类{public:intx,y;public:Point(){}Point(inta,intb){x=a;y=b;}};classRect//矩形类{public:P

4、ointp1;//左上角点坐标intheight;//高intwidth;//长public:Rect(Pointa,intw,inth){p1=a;height=h;width=w;}Rect(){}};classIntersect//处理相交情况类{private:RectR1,R2;//2个矩形public:Pointp1;boolb_inter;//指示是否相交boolb_include;//指示是否包含(约定:包含必相交)public:Intersect(Rectrect1,Rectrect2){R1=rect1;R2=rect2;b_in

5、ter=false;//指示两矩形是否相交,初始值为false,在构造函数中初始化b_include=false;}voidslove()//求相交{if(R1.p1.x+R1.width>=R2.p1.x)//{include();if(!b_include)shuzhifangxiang();}else{swap(&R1,&R2);//使得rect1是"左边"图形include();if(!b_include)shuzhifangxiang();}}voidswap(Rect*r1,Rect*r2)//矩形交换位置,目的是获得相对位置在左边的矩形

6、为参照{Recttemp;temp=*r1;*r1=*r2;*r2=temp;}voidinclude()//判断并求包含的相交{if((R2.p1.x>=R1.p1.x)&&(R2.p1.y>=R1.p1.y)&&((R2.p1.x+R2.width)<=(R1.p1.x+R1.width))&&((R2.p1.y+R2.height)<=(R1.p1.y+R1.height))){Pointp11(R2.p1.x,R2.p1.y);Pointp22(R2.p1.x+R2.width,R2.p1.y+R2.height);b_inter=true;

7、b_include=true;p1=p11;p2=p22;cout<<"包含"<=R2.p1.y&&(R1.p1.y+R1.height)<=R2.p1.y+R2.height)//(1)R1右部上下两个顶点均//被包含在R2中{Pointp11(R2.p1.x,R1.p1.y);Pointp22(R1.p1.x+R1.width,R1.p1.y+R1.height);b_inter=true;p1=p11;p2=p22;cout<<"情况1"<

8、dl;}//(2)R2左部上下两个定点均被包含在R1中if((R1.p1.y<=R2.p1.y)&&((R1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。