首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷533

国家二级C++机试(操作题)模拟试卷533

本单篇文档共4920字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 3256人下载
价格: 1.60 原价:¥8.00
收藏

国家二级C++机试(操作题)模拟试卷533

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序的执行结果为:

1 2 3 4 5 4 3 2 1

1 2 3 4 3 2 1

1 2 3 2 1

1 2 1

1

注意:错误的语句在//******error******的下面,修改该语句即可。

1 #include<iostream.h>

2 #include<iomanip.h>

3 void main()

4 {

5 int i,j,k;

6 for(i=5;i>=1;i–)

7 {

8 //******error******

9 for(j=1;j<=i;j++)

10 cout<<’’ ’’;

11 //******error******

12 for(k=1;k>=i;k++)

13 cout<<setw(3)<<k;

14 //******error******

15 for(k=i-1; k>0; k++)

16 cout<<setw(3)<<k;

17 cout<<end1;

18 }

19 }

(1)for(j=1;j<=5-i;j++)

(2)for(k=1;k<=i;k++)

(3)for(k=i-1;k>0;k–)

解析:本题属于绘制图形题,观察可知输出图形左右对称,从上至下有规律变化,因此可采用循环输出的方式得到该图形。输出图形呈倒金字塔型,即开始输出的空格逐步增多:由于图形左右对称,从左边到中间数值逐渐增大,到最大值后逐渐减小,因此可以分两次输出数值,一个循环负责输出左半部分,另一个输出右半部分数值。

(1)分析可知,两个循环负责输出两半数值,刚开始还有空格,而且空格书逐行增加,因此也必须用循环来实现输出空格,即内层第一个小循环负责输出空格,因此forq[j=1.j<i;j++)应改为for(j=1.j<=5-i;j++)。

(2)第二个小循环负责输出左半部分数值,外层大循环i从5变到1,而每行前半部分数值的最大值在减小,因此第二个循环的循环变量j与i之和满足一定关系,即j<=i,第2个标识处for(k=1;k>=i;k++)应改为for(1(=1;k<=i;k++)。

(3)第三个小循环负责输出右半部分数值,数值从大变到小,因此循环变量k的初值为i-1,k逐次变小,即第3标识处for(k=i-1;k>0;k++)应改为for(k=l;k>0;k–)。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数convert(char*strOct)的功能是将八进制转换为十进制。

提示:要每一位转换,然后把转换后得到的数累加起来即可。

注意:不能修改其他部分的代码。

1 #include<iostream.h>

2 #include<cmath>

3 int convert(char* strOct)

4 {

5

6 }

7 int main()

8 {

9 cout<<convert(’’7’’)<<end1;

10 cout<<convert(’’10’’)<<end1;

11 cout<<convert(’’1234’’)<<end1;

12 return 0;

13 }

1 int re=0;

2 while (*strOct)

3 {

4 re = re*8 +(*strOct) – ’0’;

5 strOct++;

6 }

7 return re;

解析:函数convert(char*strOct)的功能是将八进制转换为十进制,将八进制转换成十进制的方法是按权展开,即八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方,依次将各位数乘上其权值,然后求和即得到相应的十进制数。

(1)定义整型变量re,re记录求得的10进制数。

(2)convert(char*strOct)的输入参数为字符指针,而不是整形数据指针,因此需要将ASCII码转换成相应的数字量,即(*strOct)-’0’。

(3)按权展开可采用循环迭代的方法,如:(123)8=((1×8)+2)×8+3,即迭代过程为上一次运算得到的结果再乘以8加现在的元素值,即re=re*8+(*strOct)-’0’。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:

(1)完成类Rect的构造函数,实现对变量left、right、top、boRom的初始化,缺省值都为0,请在注释//********1********后添加适当的语句。

(2)完成类Rectangle的构造函数,请在注释//********2********后添加适当的语句。

(3)完成计算矩形对角线长度函数Diagonal(),请在注释//********3********后添加适当的语句。

(4)完成计算周长函数Girth(),请在注释//********4********后添加适当的语句。

程序输出:

50

140

注意:增加代码,或者修改代码的位置已经用符:号表示出来。请不要修改其他的程序代码。

1 #include<iostream.h>

2 #include<cmath>

3 class Rectangle

4 {

5 public:

6 int left,right,top,bottom;

7 //********1********

8

9 {

10 left=1;

11 right=r;

12 top=t;

13 bottom=b ;

14 }

15 //********2********

16 {

17 left=rc.left;

18 right=rc.right;

19 top =rc.top;

20 bottom=rc.bottom;

21 }

22 float Diagonal()

23 {

24 //********3********

25 return

26 }

本文档预览:3600字符,共4920字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷533

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号