电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:471028141       资源大小:46KB        全文页数:11页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

软件工程师笔试试题笔试时间:三小时内 姓名: 余文瑛 开始时间: 08:10 完成时间: 11:10 (解题前,请首先写设计思路。)(请自行解答,一旦发现抄袭,笔试成绩取消。)第一题:写一个函数,交换两个变量的值,不使用第三个变量。如a=3,b=5,交换之后a=5,b=3;答:描述:不使用新的空间,那么只能使用原来的变量记忆旧的数据,由 void swap(int *a,int *b) /C+语言描述 *a=*a+*b;*b=*a-*b;*a=*a-*b;第二题: 编程求两个矩形的相交矩形 分别输入两个空间中两个矩形的左上角坐标x,y,以及宽(width)高(height), 如果两个矩形有相交,输出相交的矩形左上角,右下角坐标,x1,y1,x2,y2例如: 键盘输入: 0,0,100,100 20,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右上方顶点被包含在右部矩形中,而右下角不在(4) R1的右下角顶点被R2包含,而右上角不在其中在(3)(4)种,还要分两种情况计算.#include <iostream>using namespace std;/为了保证安全性,一般将类的成员访问属性设置为private,通过相关的属性(函数进行访问),但本例中/为了简便,将部分成员直接设置为public访问属性class Point /定义点类public: int x,y;public:Point() Point(int a,int b) x=a; y=b;class Rect /矩形类public:Point p1; /左上角点坐标int height; / 高int width;/长public:Rect(Point a,int w,int h) p1=a; height=h; width=w; Rect();class Intersect /处理相交情况类private:Rect R1,R2; /2个矩形public:Point p1;bool b_inter;/指示是否相交 bool b_include;/指示是否包含(约定:包含必相交)public:Intersect(Rect rect1,Rect rect2 )R1=rect1;R2=rect2;b_inter=false;/指示两矩形是否相交,初始值为false,在构造函数中初始化b_include=false; void slove() /求相交 if(R1.p1.x+R1.width>=R2.p1.x) / include(); if(!b_include) shuzhifangxiang(); else swap(&R1,&R2); /使得rect1是"左边"图形 include(); if(!b_include) shuzhifangxiang(); void swap(Rect *r1,Rect *r2) /矩形交换位置,目的是获得相对位置在左边的矩形为参照Rect temp;temp=*r1;*r1=*r2;*r2=temp;void include() /判断并求包含的相交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) Point p11(R2.p1.x,R2.p1.y); Point p22(R2.p1.x+R2.width,R2.p1.y+R2.height); b_inter=true; b_include=true; p1=p11; p2=p22;cout<<"包含"<<endl;void shuzhifangxiang() /求非包含的相交 if(R1.p1.y>=R2.p1.y&&(R1.p1.y+R1.height)<=R2.p1.y+R2.height) /(1)R1右部上下两个顶点均/被包含在R2中 Point p11(R2.p1.x,R1.p1.y); Point p22(R1.p1.x+R1.width,R1.p1.y+R1.height); b_inter=true; p1=p11; p2=p22;cout<<"情况1"<<endl; /(2)R2左部上下两个定点均被包含在R1中if(R1.p1.y<=R2.p1.y)&&(R1.p1.y+R1.height)>=(R2.p1.y+R2.height) Point p11(R2.p1.x,R2.p1.y); Point p22(R1.p1.x+R1.width,R2.p1.y+R2.height);b_inter=true; p1=p11; p2=p22;cout<<"情况2"<<endl;/(3)if(R1.p1.y<=(R2.p1.y+R2.height)&&(R1.p1.y>=R2.p1.y)&&(R1.p1.y+R1.height)>=(R2.p1.y+R2.height)/R1右上方顶点被包含在右部矩形中,而右下角不在 /依然有两种情况/1只包含右侧矩形的1个端点/2包含右侧图形的2个端点if(R2.p1.x+R2.width>=R1.p1.x+R1.width) Point p11(R2.p1.x,R1.p1.y); Point p22(R1.p1.x+R1.height,R2.p1.y+R2.height); p1=p11; p2=p22; cout<<"情况3.1"<<endl;else Point p11(R2.p1.x,R1.p1.y); Point p22(R2.p1.x+R2.width,R2.p1.y+R2.height); p1=p11; p2=p22; cout<<"情况3.2"<<endl;b_inter=true;if(R1.p1.y+R1.height)>=R2.p1.y)&&(R1.p1.y+R1.height)<=(R2.p1.y+R2.height)&&(R1.p1.y<=R2.p1.y)/R1的右下角顶点被R2包含,而右上角不在 /依然有两种情况/1包含右侧矩形的两个端点/2至包含右侧图形的1个端点if(R1.p1.x+R1.width<=R2.p1.x+R2.width)Point p11(R2.p1.x,R2.p1.y); Point p22(R1.p1.x+R1.width,R1.p1.y+R1.height); p1=p11; p2=p22;cout<<"情况4.1"<<endl;elsePoint p11(R2.p1.x,R2.p1.y); Point p22(R2.p1.x+R2.width,R2.p1.y+R2.height); p1=p11; p2=p22;cout<<"情况4.2"<<endl;b_inter=true;int main()/测试情况二/Point p1(0,0);/Point p2(20,20);/Rect Rect1(p1,100,100);/Rect Rect2(p2,100,40);/测试情况一,三/.Intersect inter(Rect1,Rect2);inter.slove ();cout<<inter.p1 .x <<","<<inter.p1 .y <<endl;cout<<inter.p2 .x <<","<<inter.p2 .y <<endl;return 0;s第三题:模拟实现乘法运算A*B = C,A和B最大值为9999. 要求输出如下 1234 * 121 - 1234 2468 1234 = - 14 9 3 1 4算法描述;(1) 开辟两个数组,分别存储2个四位整数(注意在输入的时候123应当输入0123,即应该输入四位数)(2) 用第二个乘数的个位数分别乘以第一个乘数的个位,十位,百位和千位,并处理进位问题(3) 分别用第二个数的十位,百位,千位重复(2)的步骤(4) 将乘法中间数组temp48,竖直方向求和(并处理进位问题),然后该和的个位数即是最终答案的对应为数值(5) 输出最终答案数组product8;#include<iostream>#include<math.h>using namespace std;class Helppublic:int a4,b4; /两个数组,分别存储两个乘数int product8; /存储成绩int temp48; /存储中间

注意事项

本文(巨人网络游戏程序员面试题)为本站会员(博****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.