2018东南大学计算机复试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018-553真题回忆版
一.阅读题(每题10分,共80分,写出以下程序所执行的功能和输出内容)【这里不好回忆,因此我给出程序执行的功能和运行的结果,如果你能把程序写出来,那说明你肯定没问题了】
1.fun函数把一个整数分解成13x+11y的形式并输出出来,输出结果按照如下格
式:
126,13×8,11×2
2.将一个字符数组中ASCII码值大于等于‘d’的字符提取到字符串开头来,然后在最后一个符合要求的字符后面加上\0
3.查找字符串中ASCII码值最大的元素,并把它换到字符串的第一个元素的位置上,在此元素之前的元素依次后移。如ThisIsString变成tThisIsSring
4.类1有4个成员函数fun1到fun4,其中fun1,fun2是virtual。类2 public继承类1,并把fun1到fun3声明为virtual。主函数定义了一个类1的指针,指向了类2,用这个指针分别调用fun1到fun4,问输出结果。(函数定义很简单,比如类1的fun1就输出class1 fun1..类2的fun2就输出class2 fun2)
5.一个类,里面定义了构造函数和析构函数,这两个函数体里都有相应的输出语句。构造函数有两个参数,分别初始化两个private成员x,y这个类还有一个print函数,输出x和y的乘积。然后主函数里这样定义CLASS_A *p=new CLASSA(4,5);*p.fun();delete *p;问输出结果
6.对一个int数组排序,类似选择排序,每次循环将一个最大值移动到最左侧
7.fun1输出一个3×3数组主对角线元素和,fun2输出副对角线元素和,main函数对其测试
8.
二.程序填空题(共25分)
1.【5分】
If(____①_______) //里面填判断x是否是闰年的条件
Cout<< 是闰年;
_____②_____
Cout<<不是闰年
2.【10分】
对于一个mxn数组,找到所有满足以下条件的点【在对应行中是最大值,对应列中是最小值】
这题有4个空,我忘了是怎么挖的了,反正如果你能自己写出来代码,做题肯定没问题了。
3.【10分】
从键盘中读入一行字符,一个一个存到字符数组中,忘了怎么挖空,自己写吧
程序设计题(共45分)【只有题干,代码全都要求自己写】
1.寻找1-1000中所有满足以下条件的数:所有因子(包括1但不包括本身)之和等于
这个数本身。并将所有这样的数输出,格式如下:6=1+2+3【10分】
2.在10-100000之间随机产生10个数,放到int数组中,再把这个数组中的每个元素
都转化成字符串存到字符指针数组中,fun2实现把一个整数转化成一个字符串【15分】
3.写一个职工类,其中私有数据成员包括职工姓名name,职工号id,入职年月rznf,
年度评分score(每年每个员工会得到一个分,是4-9之中的整数值,当得到第三个评分后,会判断是否加薪或辞退,然后清零这三个评分),员工月薪wages员工总数Total。成员函数有构造函数,析构函数,判断是否加薪(连续3年评分都大于等于9,则加薪10%),判断是否辞退(连续3年评分小于等于6,辞退)。再写一个友元函数,用来计算该公司每月应付职工薪酬,和年应付职工薪酬。【20分】