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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果是:

1 1 2 2 3 3

4 4 5 5 6 6

7 7 8 8 9 9

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。

1 #include<iostream.h>

2 #include<iomanip.h>

3 void main() {

4 int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

5 int *p,i;

6 //********error********

7 p=a;

8 for(i=0;i<9;i++) {

9 cout<<setw(2)<<*(p+i);

10 //********error********

11 cout<<setw(2)<<*(a+i);

12 if(i%3==2) cout<<end1;

13 }

14 }

(1)P=&a[0][0];

(2)cout<<setw(2)<<*(*a+i);

解析:从已给定源程序的main主函数开始入手,可以看出程序是通过数组与指针两种方法输出数组值。

(1)打开modi1.cpp,调试程序,显示错误提示为第一标识下“modi1.cpp(7):error C2440:’=’:cannot convert from ’int[3][3]’to ’int *’”,a为二维数组型变量,将其值赋值给p,应该是p指向数组a的起始位置,即“p=&a[0][0];”。

(2)程序中第2个标识下的“cout<<setw(2)<<*(a+i);”语句应该是输出数组a中元素的值,而该语句是*(a+i)指向数组第i个位置,要指向其值应该是*(*a+i),所以第2个标识下的语句改为“cout<<setw(2)<<*(*a+i);”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成空出的函数fun(int a[],int* index),使函数输入n(<100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。

要求函数实现以下的功能:

(1)获得输入的n个整数;

(2)把最大的数字的下标在第二个参数中输出;

(3)把最大的数字作为返回值。

注意:不能修改程序的其他部分,只能修改fun()函数。

1 #include<iostream.h>

2 #define MAXLINE 100

3 int fun(int a(1,int *index)

4 {

5

6 }

7 void main()

8 {

9 int A[MAXLINE];

10 int index;

11 int maxdata;

12 maxdata=fun(A,&index);

13 cout<<’’the max data is:’’<<maxdata<<’’ ’’<<’’the posion is:’’<<index<<end1;

14 return;

15 }

1 int 1,n;

2 do //输入数组的大小

3 {

4 cout<<’’Please input n\n’’;

5 cin>>n;

6 } while(n>99);

7 cout<<’’Please input a[n]\n’’;

8 for(i=0;i<n;i++)//输入数组中元素的值

9 {

10 cin>>a[i];

11 }

12 *index=0;

//元素下标值初始化

13 for(i=1;i<n;i++)//循环找出最大值

14 {

15 if(a[*index]<a[i])

16 *index=i;//记录比较大元素的下标

17 }

18 return a[*index]; //返回最大的元素值,其中index为最大值的下标

解析:(1)该程序功能是求数组中最大元素的值和此元素的下标。它的解题思路,初始化记录下标变量为0,指向数组第一个元素,逐个把所有元素和标记字符进行比较,并将大值的下标赋值给记录下标变量,从而找出最大值。

(2)从己给部分源程序的main主函数开始入手,核心函数int fun(int a[],int *index)中的a参数为输入的数组,其中index为记录最大值下标变量。

(3)首先输入数组大小,然后利用循环输入数组元素。

(4)利用for循环对每一个当前数组元素与index标记的元素进行大小比较。

(5)循环中将求得的最大数据a[i]的下标标志位赋给标志位index。

综合应用题

3.用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。在屏幕和程序modi3.txt文件中输出以下结果:

Hello

Test

出现异常情况

其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整:

(1)以追加的方式打开文件modi3.txt,请在注释//********1********后添加适当的语句。

(2)定义一个类对象s,请在注释//********2********后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

1 #include<iostream.h>

2 #include<fstream>

3 using namespace std;

4 void WriteFile(char *x)

5 {

6 ofstream out1;

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

8 out1.open(’’modi3.txt’’, );

9 out1<<x<< ’ ’;

10 out1.close(),

11 }

12 void ClearFile()

13 {

14 ofstream OHt1;

15 out1.open(’’modi3.txt’’);

16 out1.Close();

17 }

18 class TestClass

19 {

20 public:

21

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号