国家二级C++机试(操作题)模拟试卷378
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
100
37
32
注意:错误的语句在∥********error********的下面,修改该语句即可。
#include
∥********error********
void main(
{
∥********error********
int m=0142;
∥********error********
int n=0X27;
int q=32;
cout<<m<<endl;
cout<<n<<endl;
cout<<q<<endl;
return;
}
(1)void msin()
(2)int m=0144;
(3)int n=0×25; 或int n=0×25;
解析:主函数main()中,定义了三个变量,分别赋初值为八进制、十六进制和十进制数,并利用cout输出。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCⅡ值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回一1;或者不存在时也返回一1。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。计算数字如果第一个字母最小,则返回0。依次增加。
#include
int fun(char*data)
{
}
Void msin()
{
char str[1024];
cout<<“请输入一行英文字符串:\n”;
cin.getline(str,1024);
cout<<”最小的字母出现在距离头部”<<fun(str)<<“个字母处”<<end1;
}
int MinPos=0; //初始化最小
值位置
if(data==NULL) //判断输入字
符串是否为空
return一1;
char MinData=data[0];//设置字符
串第一个字符为最小值
if(MinData==0) //判断第一个
字符是否存在
return一1;
for(int i=1;data[i]!=0;i++)
{
if(data[i]<=MinData)
{
MinData=data[i]; //逐个判断每个字母是否小于标记字符
MinPos=i; //最小值
位置
)
}
return MinPos;
解析:(1)该程序功能是找出字符串数组中最小的ASCⅡ值。它的解题思路,用最小值变量标记第一个待找字符,把所有待找字符和标记字符逐个进行比较,并标记其当前最小值及其所在位置,从而找出最小值。
(2)从己给部分源程序的main主函数开始入手,核心函数int fun(char*data)中的data参数为输入的字符串数组,其中MinPos为最小值位置。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示人基本信息的类CHumanlnfo,但类CHumanln的定义并不完整。请按要求完成下列操作,将类CHumanInfo的定义补充完成:
(1)定义私有数据成员bloodType用于表示血型, 血型为char型的数据。请在注释“∥********1********之后添加适当的语句。
(2)完成构造函数的定义,要求具有缺省值,缺省值为身高175,体重70,血型A。请在注释“∥********2********之后添加适当的语句。
(3)完成类外CHumanlnfo成员函数Setlnfo的定义。请在注释“∥********3********”之后添加适当的语句。
(4)在主函数中调用成员函数SetInfo,把对象d2的三个私有数据成员分别设定为身高170,体重64,血型为B。请在注释“∥********4********,,之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
Class CHumanInfo
{
private:
int height;
int weight;
∥********1********
public:
∥********2********
:height(ht),weight(wt),
bloodType(bt){};
CHumanlnfo(CHumanInfo&hi):
height(h1.height),
weight(h1.weight),
bloodType(h1.bloodType){);
int GetHeight()
{
return height;
}
int GetWeight()
{
return welght;
}
int GetBloodType()
{
return bloodType;
}
void SetInfo(int ht,int
wt,char bt);
void Di splay();
};
∥********3********
{
height=ht;
weight=wt;
bloodType=bt;
}
void CHumanInfo::Display()
{
cout<<“HumanInfo:”;
cout<<height<<“cm, ”<<
weight<<“Kg,BloodType”<<
bloodType<<endl ;
}
void main()
{
CHumanInfo h1(169,61,‘A’);
CHumanInfo h2;
CHumanInfo h3(h1);
本文档预览:3600字符,共4203字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载