计算机类二级C++

2010年全国计算机等级考试二级C++模拟试题(13)&上机部分

3 题含答案C++
共 3 题返回本类
1案例分析题1 / 3
改错题
使用VC6打开考生文件夹下的工程kt13_1,此工程包含一个源程序文件kt13_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
5
5
源程序文件kt13_1.cpp清单如下:
#include
classA{
public:
/*****************found*****************/
staticintn=1;
A(){n++;};
~A(){n--;}; };
/*****************found*****************/
intn=0;
intmain(){
Aa;
Ab[3];
A*c=newA;
c=&a;
/*****************found*****************/
cout<<C.N<<ENDL;< p>
cout<<A::n<<endl;< p>
return0; }
查看答案

(1)将static int n=1;改为:static int n;
(2)将int n=0;改为:int A::n=0;
(3)将cout<<C.N<<ENDL;改为:COUT<n<<ENDL;< p>
2案例分析题2 / 3
简单应用题
请编写一个函数sortnum(intnum),参数num是一个三位的整数,该函数将num的百位、十位和个位的数字进行重排,并返回由上述的三个数字组成的最大的三位数。
注意:部分源程序已存在文件kt13_2.cpp中。
如输入456后,输出结果如下:
654
请勿修改主函数main和其他函数中的内容,仅在函数sortnum的花括号中填写若干语句。
文件kt13_2.cpp的内容如下:
#include
intsortnum(intnum)
{
}
voidmain()
{ intnum;
intresult=0;
cout<<"请输入一个三位数";
cin>>num;
cout<<SORTNUM(NUM)<<>
查看答案

int number[3],i,j,temp;
for(i=0;i<3;i++)
{ number[i]=num%10;
num=num/10; }
for (i=0;i<2;i++)
{ for (j=i+1;j<3;j++)
if (number[j]<=number[i])
{ temp=number[j];
number[j]=number[i];
number[i]=temp; } }
num=number[2]*100+number[1]*10+number[0];
return num;
3作文题3 / 3
综合应用题
使用VC6打开考生文件夹下的工程kt11_3。此工程包含一个kt11_3.cpp,其中定义了类queue,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queueinitialized。请在注释“//**1**”之后添加适当的语句。
(2)完成类queue的成员函数qput(intj)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queueisfull,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“//**2**”之后添加适当的语句。
(3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queueisempty,否则el自加一,并且把el指向的数组元素返回,请在注释“//**3**”之后添加适当的语句。
程序输出结果如下:
queueinitialized
queueinitialized
3311
4422
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件kt11_3.cpp清单如下:
#include
classqueue
{ intq[100];
intbl,el;
public:
queue();
voidqput(intj);
intqget(); };
queue::queue()
{ //**1** }
voidqueue::qput(intj)
{ //**2**
{ cout<<"queueisfull\n";
return; }
bl++;
q[bl]=j; }
intqueue::qget()
{ //**3**
{ cout<<"queueisempty\n";
return0; }
el++;
returnq[el]; }
voidmain()
{
queueaa,bb;
aa.qput(11);
bb.qput(22);
aa.qput(33);
bb.qput(44);
cout<<AA.QGET()<<""<<AA.QGET()<<"\N";< p>
cout<<BB.QGET()<<""<<BB.QGET()<<"\N";< p>
}
查看答案

(1)bl=el=0;
cout<<"queue initialized\n";
(2)if(bl==100)
(3)if(el==bl)
← 上一卷下一卷 →