国家二级(C++)机试模拟试卷26(题后含答案及解析)_0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级(C++)机试模拟试卷26(题后含答案及解析) 题型有:1. 程序改错题 2. 简单应用题 3. 综合应用题
程序改错题(30分)
使用VC6打开考生文件夹下的工程RevPrroj7。
此工程包含一个源程序文件RevMain7.cpp。
在该文件中,函数fun( )的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII码值大或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:若a中的字符串为aBCDeFgH,b中的字符串为ABcd,则c中的字符串为aBcdeFgH。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain7.cpp中的程序清单如下://RevMain7.cpp #include<iostream >#include<string>using namespace std;void fun(char *p,char *q,char *c) { int k=1;while(*p!=*q) { if(*p<*q) c[k]=*q;else c[k]=*p;if(*p) p++;if(*q) q++;} } int main( ) { char a[10]=“aBCDeFgH”,b[10]=“ABcd”,c[80]={‘\0’};fun(a,b,c);cout<<”The string a is “<<a<<’\n’;cout<<”The string b is “<<b<<’\n’;cout<<”The string c is “<<c<<endl;return 0;}
正确答案:
简单应用题(40分)
请编写一个函数int compare(char *s,char *t)), 该函数的功能是对两个字符串进行比较。
当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于是t指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0。
注意:部分源程序已存在文件PROC8.cpp中。
文件PROC8.cpp的内容如下://PROC8.cpp #include <iostream>#include <string>using namespace std; int compare(char *s,char *t) { //* * * * * * * * * } int main ( ) {char str1[100],str2[100];int result;cout<<”Input the first string\n”;cin>>str1;cout<<”Input the second string\n”;cin>>str2;result=compare(str1,str2);if (result==0) cout<<”string1=string2 ! \n”;else if (result>0) cout<<”string1>string2 ! \n”;else cout<<”string1<string2 ! \n”;return 0; }
正确答案:
综合应用题(30分)
使用VC6打开考生文件夹下的工程MyProj6。
此工程包含一个源程序文件MyMain6.cpp。
在程序中,定义了一个Furniture类,Bed类和Sofa类是在Furniture
类的基础上按公有继承的方式产生的派生类,Sleepersofa类是在Bed类和Sofa 类的基础上按公有继承的方式产生的派生类。
请按要求完成下列操作,将类Date的定义补充完成:①Bed类是在Furniture类的基础上按公有继承的方式产生的派生类,为了使程序中的多重继承关系不出现二义性。
请在注释“//**1**”之后添加适当的语句。
②Sofa类是在Furniture类的基础上按公有继承的方式产生的派生类,为了使程序中的多重继承关系不出现二义性。
请在注释“//**2**”之后添加适当的语句。
③Sleepersofa类是在Bed类和Sofa类的基础上按公有继承的方式产生的派生类。
请在注释“//**3**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain6.cpp清单如下;//MyMain6.cpp #include<iostream>using namespace std;class Furniture { public:Furniture( ){} void setweight(int w) {weight=w;} int getweight( ) {return weight;} protected:int weight;}; //* *1 * * class Bed definition { public:Bed( ){} void sleep( ) { cout <<”sleeping...”<<end1;} };//* *2* * class Sofa definition { public:Sofa( ){} void watchTV( ) { cout<<”watching TV...”<<end1;} };//* * * 3 * * * { public:Sleepersofa( ){} void Foldout( ) { cout <<”Fold out the sofa”.<<endl; }; int main( ) { Sleepersofa ss;ss.setweight(20);cout<<ss.getweight( )<<end1;return 0;}
正确答案:。