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

发布 2019-08-26 13:59:40 阅读 6195

软件工程师笔试试题。

笔试时间:三小时内。

姓名: 余文瑛

开始时间: 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,60

算法描述:我们将平面上的两个矩形分为左右两边,将左上角的横坐标较小的那个矩形看成’左边’矩形,较大的为右边矩形。对于输入的rect1和rect2,如果大于则交换他们的位置。

我们用r1表示左边巨型,r2表示右边矩形。

那么他们的相对位置有4种情况:

1) r1右部上下两个顶点均//被包含在r2中。

2) r2左部上下两个定点均被包含在r1中。

3) r1右上方顶点被包含在右部矩形中,而右下角不在。

4) r1的右下角顶点被r2包含,而右上角不在。

其中在(3)(4)种,还要分两种情况计算。

#include

using namespace std;

/为了保证安全性,一般将类的成员访问属性设置为private,通过相关的属性(函数进行访问),但本例中。

/为了简便,将部分成员直接设置为public访问属性。

class point //定义点类。

public:

int x,y;

public:

point()

point(int a,int b)

class rect //矩形类。

public:

point p1; /左上角点坐标。

int height; /高。

int width;//长。

public:

rect(point a,int w,int h)

rect()

class intersect //处理相交情况类。

private:

rect r1,r2; /2个矩形。

public:

point p1;

bool b_inter;//指示是否相交

bool b_include;//指示是否包含(约定:包含必相交)

public:

intersect(rect rect1,rect rect2 )

void slove() 求相交。

elsevoid swap(rect *r1,rect *r2) /矩形交换位置,目的是获得相对位置在左边的矩形为参照。

void include() 判断并求包含的相交。

void shuzhifangxiang() 求非包含的相交。

2)r2左部上下两个定点均被包含在r1中。

if((<

if((<右上方顶点被包含在右部矩形中,而右下角不在。

int main()

//测试情况二。

/point p1(0,0);

/point p2(20,20);

/rect rect1(p1,100,100);

/rect rect2(p2,100,40);

//测试情况一,三。

intersect inter(rect1,rect2);

cout<< x <

第三题:模拟实现乘法运算。

a*b = c,a和b最大值为9999. 要求输出如下。

算法描述;1) 开辟两个数组,分别存储2个四位整数(注意在输入的时候123应当输入0123,即应该输入四位数)

2) 用第二个乘数的个位数分别乘以第一个乘数的个位,十位,百位和千位,并处理进位问题。

3) 分别用第二个数的十位,百位,千位重复(2)的步骤。

4) 将乘法中间数组temp[4][8],竖直方向求和(并处理进位问题),然后该和的个位数即是最终答案的对应为数值。

5) 输出最终答案数组product[8];

#include

#include<>

程序员考试大纲程序员考试大纲

程序员测试大纲。一 测试说明。1 测试要求 1 掌握数制及其转换 数据的机内表示 算术和逻辑运算,以及相关的使用数学基础知识 2 理解计算机的组成以及各主要部件的性能指标 3 掌握操作系统 程序设计语言的基础知识 4 熟练掌握计算机常用软件的基本操作 5 熟练掌握基本数据结构和常用算法 6 熟练掌握...

初级程序员与高级程序员的区别

初级程序员与高级程序员的区别一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得vb也能做出应用来,且看起来也不错。但到了中级程序员时,他可能就不会选择vb了,可能会用mfc,这时,也能做出效果不错的程序。到高级程序员时,他绝对不是首先选择以上工...

程序员大纲

张友生丛书主编 电子工业出版社出版的 程序员考试考点分析与真题详解 程序员教程全国计算机技术与软件专业技术资格 水平 考试指定用书程序员教程 第三版。初级程序员级考试大纲。一 考试说明。1.考试要求 1 熟练掌握dos windows95 word和上网软件的使用方法,以及有关基础知识 2 掌握程序...