2015~2016计算机复试题 东南大学

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(20)1、求值,要求,已知:

(30)2、编写一个递归函数,其功能为:输入一个字符串,字符间都有空格,输出一个整型值。例如:输入“1 x 2 y z 3 d h 4 g 5”,输出为 54321。

(30)3、使用随机数函数srand()和time()生成随机数,来模拟掷骰子。(1)分别投掷两次,将两次所得的值,求出其和值,并写入二维数组A,数组的行存放第一次投掷的结果,数组的列存放第二次投掷的结果。(2)如果投掷1000次,将其和值出现的次数写入二维数组B。编写函数完成以上功能。(这题为原话,原文就是这么难理解)

(30)4、编写FindRepStr()函数,此函数功能为,在字符串str中查找目的字符串findStr,并用repalceStr来替换,最后输出替换后的字符串str。函数原型为:

void FindRepStr( char str[], const char findStr[], const replaceStr[]);

(40)5、编写一个Teacher类,要求类含有教师编号,姓名,性别,出生年月,入职年月。以及以下成员函数:

(1)带有默认参数的构造函数(默认出生年月为1900-00-00),复制构造函数。

(2)2016年进行新一轮聘用,男教师满55岁,女教师满60岁,则到退休年龄,编写函数输出应退休的教师姓名和编号。

(3)如果满退休年龄的女教师入职时间未满35年,则继续聘用,编写函数输出应继续聘用的满退休年龄的女教师的姓名和编号。

(4)编写main函数来测试你所设计的类。

2015年蒙纳什计算机笔试题

1. 求值,要求,已知:

2.写函数完成int数组前m项与后n项换位置

3.对一副扑克抽取1000次,写出函数计算并打印每个牌值得概率

4.(和计算机部分相似)编写一个Teacher类,要求类含有教师编号,姓名,性别,出生年月,入职年月。以及以下成员函数:

(1)带有默认参数的构造函数(默认出生年月为1900-00-00),拷贝构造函数。

(2)女教师满55岁,则到退休年龄,如果是女教师,就输出姓名编号和受聘年龄,写出完成该功能的函数

(3)写出main函数测试

一、填空50(10个空)

1、函数从哪里开始执行

2、给指针初始化的值有哪三种

3、三种程序控制结构

4、用户自定义类型的一个实体叫什么

5、对象看不到其他对象的实现的属性叫什么

二、简答80

1、实现多态的方法有哪些

2、std:cin

Std:cout

Std:cerr三个对象分别代表什么

3、改错:

#include;

int a[2][2]={{1,2},{3,4}}; a[1,1]=5;

4、存储类的说明符有哪些

5、*运算符有哪些含义

6、为什么要运算符重载,有哪些运算符不能重载

7、(1)default是不是必要的判断条件,为什么

(2)x>y为真,a< b为真,则x>y && a

8、有两个不同类型的指针,如何用其中一个指针给另外一个指针赋值

三、20

用键盘输入一行文本,如that is a question,请编写一个test函数,将输入文本的单词和对

2016蒙纳什计算机笔试题

简答题(10*12分)

1.指出下列标准库的含义

std:cin cout cerr

2.请写出三种控制结构并举例//这个与历年真题有重复

3.不同类型的指针(基类指针和派生类指针等)强制转换

4.存储类说明符

5.改错①数组越界②形式错误

6.指出C++中多态的含义

7.判断①switch default是否必须使用break退出

②||操作符的意义

8.比较类class和struct结构体的异同

9.写出递归函数定义以及相应的优缺点

10.写出包含输入输出的标准库

编程题(30分)

使用字符数组存储一段字符,判断是否是回文字符串(需要判断并忽略空格)

#include

#include//判断一个句子是否是回文的,(也就是顺着读和倒着读是否一样)考的是字符串处理的技能如:1234321,abcdcba//需要忽略空格

#include

int JudgeBack(char* str)

{

int len = strlen(str);

char* sub = new char[len];

int i;

int j = 0;

for (i = 0; str[i] != '\0';++i)//去除空格

{

if (str[i]!=' ')

{

sub[j++] = str[i];

}

else

continue;

}

sub[j] = '\0';

i = 0;

j = j - 1;

while (i <= j)

{

if (sub[i] == sub[j])//判断是否回文

{

++i;

--j;

}

else return 0;

}

return 1;

}

int main(int argv, char* argc[])

{