国家二级C++机试操作题模拟试卷304_真题-无答案
国家二级C++机试(操作题)模拟试卷304
(总分6,考试时间90分钟)
2. 基本操作题
1. 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1, 2, 3, 4, 5, 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。#include<iostream.h>Class TestClass{ //********error TestClass(int i) { m_i =i; } void print() { cout<<++m i<<','; }public: int m_i;); int main(){ //********error******** int i(); TestClass data(0); while(i>5) { //********error******** i++; data.print(); } cout<<endl; return 0;}
3. 简单应用题
1. 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。 亲和数的定义为:两个数m和n,如果n的所有因子之和(因子除掉自身)等于m,且m的所有因子等于n,则m、n是互为亲和数。 注意:不能修改程序的其他部分,只能补充amicableNum(int m,int n)函数。#includeint amicableNum(int n){ int sum=0; for(int i=1;i 1. 使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数, 请在注释//********1********后添加适当的语句。 (2)完成构造函数对姓名的赋值,请在注释//********2********后添加适当的语句。 (3)定义类的友元函数fun(),请在注释//********3********后添加适当的语句。 (4)补充函数fun()的年龄比较,请在注释//********4********后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。#include<iostream.h>Class Person{public://********1******** { int i; for(i=0;sUserrName[i]!=0;i++1 { m UserName[i]=suserrName[i]; )//********2******** m old=nold; }private: char m_UserName[32]; int m_Old;//********3********};void fun(char*s,Person&personl,Person&person2){//********4******** if( ) { for(int i=0;personl.m UserName[i]!=0;i++) { s[i]=personl.mUserName[i]; s[i+1]=0; } } else { for(int i=0;person2.mUserName[i]!=0;i++) ( s[i] =person2.mUserName[i]; s[i+1]=0; } }}Void main(){ char s[32]; Person p1(\"abc\",20); Person p2(\"def\",30); fun(s,p1,p2); cout<<s<<endl; return;} 因篇幅问题不能全部显示,请点此查看更多更全内容