1、国家二级 C+机试(操作题)模拟试卷 384及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: This is a greart! Hello Hello 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class CMyClass public: void displayl() ( cout #define N 100 int aNN; int fun(int n) void main() int n ; coutn; for(int i=0; iaij;
2、cout class CMyFormula private: *1* public: *2* this-a=a; this一 b=b; void set(int X, int Y) a=x; b=y; void display() *3* ; int main() CMyFormula formular(1, 1); for(int i=1; i=9; i+) *4* for(int j=1; j+) formular set(j, i); formular display(); cout“”; coutend1; return 0; 国家二级 C+机试(操作题)模拟试卷 384答案与解析 一
3、、基本操作题 1 【正确答案】 (1)char str6=“Helio”; 或 char Str=“HellO”; (2)void display3(char*string) 或 void display3(char string) (3)coutstringendl; 【试题解析】 类 CMyClass有 3个成员函数: display 1()、 display2()和display3(), display 1()和 display20不带参数, display30带有参数,函数功能分别向屏幕打印输出不同的字符串。 二、简单应用题 2 【正确答案】 int row; int max; int
4、 min; int col; for(row=0; rown; row+) 外循环求行最大值中的最小值 for(max=arow0, col=1; coln; col+) 求每一行中的最大值 if(maxarowcol) max=arowcol; if(row=0) 求最小值 min=max; else if(maxmin) min=max; return min; 【试题解析】 (1)该程序功能是找出矩阵中所有行最大的数中的最小一个。它的解题思路,首先找出每一行的最大值,然后在这些值中进行比较,找出其中的最小值。 (2)从己给部分源程序的 main主函数开始入手,核心函数 int fun(i
5、nt n)中的 n参数为矩阵中的列和行数。 三、综合应用题 3 【正确答案】 (1)添加语句: int a, b; (2)添加语句: CMyFormula(int a=l, int,b=1) (3)添加语句: couta*b=a*b; (4)将 “for(int j=1; j+)”补充完整为: for(int j=1; j=i ; j+) 【试题解析】 程序当中定义了类 CMyFormula,含有 a和 b两个成员变量,一个构造函数,改变成员变量 a和 b的值得 set(int x, int y)函数,打印 a和 b的乘积的display()函数。在主函数中定义了一个 CMyFormula对象,然后不断改变该对象的 a和 b的值,然后调用 display()显示,如此完成打印 99的乘法口诀。