您的位置:首页 > 其它

2014网易游戏TTT笔试(中山大学,可能不全哦,我回忆的)

2014-03-21 09:42 288 查看
转自/article/8316279.html,感谢原作者,让我们有一个学习的机会。

答案仅供参考,有错误欢迎指正。

1.求1111+2*1111+....+1111*1111对7求余的结果。

556*1111*1111对7求余,每个分别对7求余最后算的结果是5.

2.绕Y轴旋转的旋转矩阵。



3.f(0)=0,f(1)=1,f(n)=(f(n-1)+f(n-2))mod 5求f(2013);

周期为20,答案是3

4.二分查找的时间复杂度,堆排序的空间复杂度。

课本

5.快排的时间复杂度。

课本

6.下面代码的输出结果:

[cpp] view
plaincopy





#include <iostream>

#define f(a) (a)*(a)

using namespace std;

int main()

{

int a=5,b,c;

b=f(a++);

c=f(++a);

if(!a&&c++)

b++;

else

c++;

cout<<b<<'\t'<<c<<endl;

}

GCC和VS的结果不同,本来刚开始这么写的,但是后来还是写的GCC上的结果。

VS:25,82.GCC30,82
7.关于断言:

下面是一个断言的声明:

[cpp] view
plaincopy





#define asert(e) if(!e) assert_error(_ERROR_LINE),

这样声明有什么问题?改成下面这样呢?

[cpp] view
plaincopy





#define asert(e) {if(!e)assert_error(ERROR_LINE);}

该怎么改才是对的。

8.下面程序输出是什么?

[cpp] view
plaincopy





#include <iostream>

using namespace std;

class Base

{

public:

~Base()

{

cout<<"~Base"<<endl;

}

};

class Dri:public Base

{

public:

~Dri()

{

cout<<"~Dri"<<endl;

}

};

int main()

{

Base *b=new Dri();

delete b;

return 0;

}

~Base

9.在一个低地址的系统中,下面代码输出的结果是:

[cpp] view
plaincopy





#include <stdio.h>

struct data

{

int a;

short s;

};

int main()

{

struct data dd;

dd.s=0x0102;

char *p=ⅆ

printf("%d,%d",sizeof(dd),(int)(*(p+4)));

}

p=&dd不知道怎么回事显示有点问题。

8,2
10.下面调用多少次fork(),打印几个'-'

[cpp] view
plaincopy





#include <stdio.h>

#include <unistd.h>

int main()

{

int i;

for(i=0;i<2;++i)

{

fork();

printf("-");

}

return 0;

}

3,8

11.下面代码有什么用?

./a.out >outfile 2>&1

将标准输出和标准出错重定向到outfile

12.一分钟的音乐,采用14400的采样率,双声道,16比特,问大概多大。

前面这些题是试卷的第I部分,上面说第一部分不过直接就pass

下面是编程方面的题目

1.两个题可以选一个,a.写一个strcmp函数b.约瑟夫环的问题。

2.纸牌游戏,随便抽五张牌,A代表1,2-10还是2-10,J,Q,K表示11,12,13 王可以当任何一张。判断5张牌是不是顺子。

3.程序改错

[cpp] view
plaincopy





class obj

{

public:

obj()

{

m=0;

data=new int[100];

}

obj(const &t)

{

m=t.m;

}

int squ(volatile int *p)

{

return *p**p;

}

~obj()

{

if(data)

delete[] data;

}

void add() const

{

m++;

}

private:

int m;

int *data;

};

int main()

{

obj o1;

obj o2=o1;

return 0;

}

比较明显的错误是:拷贝构造函数要用深拷贝,volatile那个应该先用一个int记下*p的值,还有就是const函数的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: