国家二级C++机试(操作题)模拟试卷535
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
number1=4.8 number2=93.6
number3=0.9
PRODUCT=404.3 52
注意:错误的语句在//******error******的下面。修改该语句即可。其他的语句不能修改。
1 #include<iostream>
2 using namespace std;
3 int main()
4 {
5 double numberl=4.8,number2=93.6,number3=0.9;
6 //******error******
7 Droduct=number1*number2 *number3;
8 //********error********
9 cout<<’’number1=’’<<number1< ’\t’<< ’’number2=’’<<number2<<’\t’;
10 //******error******
11 cout<<’’number3=’’<<number3<<’\t’;
12 cout<<’’PRODUCT=’’<<product<<end1;
13 return 0;
14 }
(1)double product=number1*number2*number3;
(2)cout<<’’number1=’’<<number1<<’\t’<<’’number2=’’<<number2<< ’\t’;
(3)cout<<’’number3=’’<<number3<<’\t’<<end1;
解析:程序内容比较简单,要求在屏幕上输出三个变量值和这三个变量的乘积值,可编译程序按照提示来找到错误处修改调试,按照要求来修改程序。
(1)C++要求变量在定义后才能使用,显然product变量没有定义,number1、number2和number3均为double型变量,product是这三个变量的乘积,因此product的数据类型是double型,因此第1个标识下应改为double product=number1*number2*number3。
(2)cout流中的数据是用流插入运算符“<<”顺序加入的,第2个标识下是输出number1、number2和number3的值,各个数据之间用“<<”顺序加入,不能用“<”,第2个标识下应改为cout<<’’number1=”<<number1<<’\t’<<’’number2=’’<<number2<<’\t’。
(3)由于输出“PRODUCT=404.352”在“number1=4.8number2=93.6 number3=0.9”下一行,因此输出“number3=0.9”后应换行,故第3个标识下应改为“cout<<’’number3=’’<<number3<<’\t’<<end1;”。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。函数func(int A[NUM],int n)实现的功能是将数组的内容进行一次重新排序。排序的方法是:给定n,则下标为i的数字与下标为n.i的数字交换。从0开始,交换N/2次,则最后的内容为排序后的结果。
如果:A[8]={1,2,3,4,5,6,7,8},n=6,则结果:A[8]={7,6,5,4,3,2,1,8}。
注意:不能修改其他代码。
1 #include<iostream.h>
2 #define NUM 8
3 void func(int A[NUM],int n)
4 {
5
6 }
7 int main()
8 {
9 int A[NUM]={1,2,3,4,5,6,7,8};
10 func(A,6);
11 for(int i=0;i<sizeof(A)/sizeof(int);i++)
12 {
13 cout<<A[i]<<’ ’;
14 }
15 cout<<end1;
16 return 0;
17 }
1 for(int i=0;i<n/2;i++)
2 {
3 int temp=A[i];//交换
4 A[i]=A[n-i];
5 A[n-i]=temp;
6 }
解析:func()函数完成对数组内容的重排,下标为i的数字与下标为n-i的数字交换,可以用循环来实现。
(1)用循环来实现该过程,题目要求从0开始,交换N/2次,因此循环变量i的范围从0变化到N/2。
(2)下标为0的元素与下标为n的元素交换,下标为1的元素与下标为n-1的元素交换,依此类推,在循环体内,用一个临时变量记录第一个元素,然后将第二个元素赋值给第一个元素,临时变量值赋给第二个元素,如此完成两个元素的交换。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)声明类objA1,请在注释//********1********后添加适当的语句。
(2)为类objA0增加友元函数func(),请在注释//********2********后添加适当的语句。
(3)为类0bjA1增加友元函数func(),请在注释//********3********后添加适当的语句。
(4)函数func()返回objA1对象中的变量和objA0的静态变量的乘积,请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream.h>
2 //********1********
3
4 class objA0
5 {
6 private:
7 statiC int m_A0;
8 //********2********
9
10 };
11 int objA0::m_A0=10;
12 class objA1
13 {
14 private:
15 int m_A1;
16 //********3********
17
18 public:
19 objA1(int i)
20 {
21 m_A1=i;
22 }
23 };
24 int func(objA1& obj)
25 {
26 //********4********
27
<本文档预览:3600字符,共4521字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载