国家二级C++机试(操作题)模拟试卷412
基本操作题
1.使用VC6打开考生文件夹下的源程序文件NOdil.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为:从键盘输入一个字符串,并将结果保存到文件modi1.txt中。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
∥********error********的下面。
#include
#include
∥********error********
using std;
void WriteFile(char*s)
{
ofstream out1;
∥********error********
outl.open(“modil.txt”,
binary | app);
for(int i=0;S[i]!=0;i++)
{
∥********error********
out1.puts(S[i]);
}
out1.close();
}
Void ClearFile()
{
OfStream outl;
outl.open(“modil.txt”);
outl.clOSe();
}
int main()
{
char s[1 02 4];
ClearFile();
cout<<“please input a string:”<<endl;
cin.getline(S,1024);
WriteFile(s);
return 0;
}
(1)using namespace std;
(2)out1.open(“modi1.txt”,ios::binary 1 ios::app);
(3)outl.put(S[i]);
解析:程序要求从键盘输入一一个字符串,并将结果保存到文件modil.txt中。从已给定源程序的main主函数开始入手,main主函数首先调用ClearFile函数打开文件,然后调用WriteFile函数将字符串写入文件。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成空出的函数fun(int a[],int*index),使函数输入n(<100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。
要求函数实现以下的功能:
(1)获得输入的n个整数:
(2)把最大的数字的下标在第二个参数中输出;
(3)把最大的数字作为返回值。
注意:不能修改程序的其他部分,只能修改tun()函数。
#include
#defime MAXLINE 100
int fun(int a[],int*index)
{
}
void main()
{
int A[MAXLINE];
int index;
int maxdata;
maxdata=fun(A,&index);
cout<<“the max data iS:”<<
maxdata<<“”<<”the posion is:”<<
index<<endl;
return;
}
int 1 i n;
do //输入数组的大小
{
cout<<“PleaSe input n\n”;
cin>>n;
}while(n>99);
cout<<“Please input a[n]\n”;
for(i=0;i<n;i++)
//输入数组中元素的值
{
cin>>a[i];
}
*index=0;
//元素下标值初始化
for(i=1;i<n;i++)
//循环找出最大值
{
if(a[*index]<a[i])
*index=i;
//记录比较大元素的下标
}
return a[*index]; //返回最大的元素值,其中index为最大值的下标
解析:(1)该程序功能是求数组中最大元素的值和此元素的下标。它的解题思路,初始化记录下标变量为0,指向数组第一个元素,逐个把所有元素和标记字符进行比较,并将大值的下标赋值给记录下标变量,从而找出最大值。
(2)从已给部分源程序的main主函数开始入手,核心函数int fun(int a[]*int*index)中的a参数为输入的数组,其中index为记录最大值下标变量。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
10
5
10 5 7
(1)定义类baseA的构造函数,该构造函数有一个整型的参数m,在构造函数中请将m赋值给数据成员a。请在注释“∥********1********”之后添加适当的语句。
(2)定义类priA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中请将m赋值给数据成员b,将n作为基类baseA构造函数的参数值传入。请在注释“∥********2********”之后添加适当的语句。
(3)定义类priA2的构造函数,该构造函数有三个整型的参数m,n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类priA1构造函数的参数m和n。请在注释“∥********3********”之后添加适当的语句。
(4)完成类priA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a和b及类priA2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“∥********4********”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
C1ass baseA
{
int a;
public:
∥********1********
int geta(){return a;)
};
class priAl:public baseA
{
int b;
pu
本文档预览:3600字符,共4541字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载