- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
巨人网络游戏程序员面试题
软件工程师笔试试题
笔试时间:三小时内
姓名: 余文瑛
开始时间: 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种情况:
R1右部上下两个顶点均//被包含在R2中
R2左部上下两个定点均被包含在R1中
R1右上方顶点被包含在右部矩形中,而右下角不在
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);
您可能关注的文档
- 展礼仪风采树文明形象.doc
- 山东大学第十届大学生社团文化节立项活动实施方案.doc
- 山东理工大学 点老师 文献检索 实习题2.docx
- 山东省利津县第一实验学校八年级政治下册《10.1 正确认识个人与集体的关系》导学案.doc
- 山东省枣庄市三校2013届九年级上学期联合模拟考试语文试题 -掌门1对1.doc
- 山东省潍坊市昌乐一中2008—2009学年度第一学期高三教学质量检测—历史.doc
- 山东省肥城市王庄镇初级中学九年级政治复习材料 新人教版.doc
- 山东自考国贸作业附答案 -- 第一篇.doc
- 山东省枣庄市2009届高三上学期期末检测(历史).doc
- 山东继续教育行政事业单位国有资产管理暂行办法和财务会计.docx
- 2024年秋新人教版数学一年级上册教学课件 第2单元 6~10的认识和加减法 第11课时 连加 连减.pptx
- 2024年秋新苏教版数学一年级上册教学课件 第二单元 6~9的认识和加减法 复习.pptx
- 2024年秋新外研版英语一年级上册教学课件 Module 9 Unit 2.pptx
- 2024年秋新人教版英语七年级上册课件 Unit 1 课时2 Section A(2a-2e).pptx
- 2024年秋新人教版化学九年级上册教学课件 第二单元空气和氧气 实验室活动1 氧气的实验室制取与性质 .pptx
- 2024年秋新科粤版化学九年级上册教学课件 2.2 构成物质的微观粒子 第3课时 原子的结构.pptx
- 2024年秋新苏教版生物七年级上册教学课件 第6章 生物的分类和多样性保护 第2节 生物的多样性.pptx
- 2024年秋新人教版数学七年级上册课件 1.2.5 有理数的大小比较.pptx
- 2024年秋新苏教版数学一年级上册教学课件 第一单元 0~5的认识和加减法 第5课时 认识=和>、<.pptx
- 2024年秋新苏教版数学一年级上册教学课件 期末复习 第2课时 数量关系.pptx
最近下载
- 发电厂变电站电气设备课程思政教学设计.pdf
- 初中函数 图像练习坐标纸(A4)直接打印版本.doc
- Unit 3 Amazing animals第2课时 A Let's learn & Listen and do人教PEP英语(2024)三年级上册.pptx VIP
- 爱德利AS2系列变频器使用说明书.pdf
- 人教版(川教版)五年级上册生命生态安全教学设计和教学计划及进度表(附安全知识).pdf VIP
- 猪场用电安全培训.pptx
- 高中语文之《炮兽》2(人教版选修).ppt VIP
- 安娜·卡列尼娜名著导读PPT课件.pptx
- 中国税法:案例·原理·方法(暨南)中国大学MOOC慕课 章节测验期中期末考试答案.docx
- 集团公司各部门职责权限手册(2022年版).pdf
文档评论(0)