ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:37KB ,
资源ID:1324308      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324308.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++机试-129及答案解析.doc)为本站会员(周芸)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++机试-129及答案解析.doc

1、二级 C+机试-129 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj1 下的工程 proj1,其中有枚举 DOGCOLOR、狗类Dog 和主函数 main 的定义。程序中位于每个/ERROR*found*下的语句行有错误,请加以改正。改正后程序的输出应该是:There is a white dog named Hoho.There is a black dog named Haha.There is a motley dog named Hihi.注意:只能修改每个/ERRO

2、R*found*下的那一行,不要改动程序中的其他内容。/源程序#include iostreamusing namespace std;/狗的颜色:黑、白、黄、褐、花、其他enum DOGCOLOR BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER;class Dog/狗类DOCCOLOR color;char name20;static int count;public:Dog(char name,DOGCOLOR color)strcpy(this-name,name);/ERROR*found*strcpy(this-color,color);DOGCOLOR

3、 getColor() const return color;/ERROR*found*const char*getName() const return*name;const char*getColorString() constswitch(color)case BLACK: return“black“;case WHITE: return“white“;case YELLOW: return“yellow“;case BROWN: return“brown“;case PIEBAIJD: return“piebald“;return“motley“;void show() const c

4、out“There is a“getColorString()“dog named“name.endl;;int main()/ERROR*found*Dog dog1(“Hoho“,WHITE),dog2(“Haha“,BLACK); dog3(“Hihi“,OTHER);dog1show();dog2.show();dog3.show();return 0:(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj2 下的工程 proj2,函数 void Insert(node*q)使程序能够完成如下功能:从键盘输入

5、一行字符,调用该函数建立反序的无头结点的单链表,然后输出整个链表。注意:请勿修改主函数 main 和其他函数中的任何内容,只需在画线处编写适当代码,也不能删除或移动/*found*。/源程序 proj2.cpp#includeiostreamusing namespace std;struct nodechar data;node*link:*head; /链表首指针void Insert(node*q) /将节点插入链表首部/*found*_;head=q;int main()char ch;node *p;head=NULL:cout“Please input the string“end

6、l;while(ch=cin.get()!=/n)/*found*_;/用 new 为节点 p 动态分配存储空间p-data=ch;/*found*_; /在链表首部插入该节点p=head;while(p!=NULL)coutp-data;p=p-link;coutendl;return 0:(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj3 下的工程 proj3,其中声明了 DataList 类,这是一个用于表示数据表的类。sort 成员函数的功能是将当前数据表排序,使得表中的元素呈升序排列。请编写这个 so

7、rt 函数。程序的正确输出应该是:排序前:7,1,3,11,6,9,12,10,8,4,5,2排序后:1,2,3,4,5,6,7,8,9,10,11,12要求:补充编制的内容写在/*333*与*666*两行之间,不得修改程序的其他部分。注意:程序最后已经将结果输出到文件 out.dat 中。输出函数 writeToFile 已经编译为 obj 文件,并且在本程序中调用。/源程序#include“DataList.h“DataList: DataList(int len, double data):len(len)d=new doublelen;for(int i=0; ilen; i+) di

8、=(data=NULL?0.0:datai);void DataList:sort()/数据表排序/*333*/*666*void DataList:show() const/显示数据表for(int i=0; ilen-1,i+) coutdi“,“;coutdlen-1endl;int main()double s=7,1,3,11,6,9,12,10,8,4,5,2;DataList list(12,s);cout“排序前:“;list.show();list.sort();coutendl“排序后:“;list.show();/writeToFile(“K:/b10/61000102/

9、“,list);return 0:(分数:30.00)_二级 C+机试-129 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj1 下的工程 proj1,其中有枚举 DOGCOLOR、狗类Dog 和主函数 main 的定义。程序中位于每个/ERROR*found*下的语句行有错误,请加以改正。改正后程序的输出应该是:There is a white dog named Hoho.There is a black dog named Haha.There is a motley do

10、g named Hihi.注意:只能修改每个/ERROR*found*下的那一行,不要改动程序中的其他内容。/源程序#include iostreamusing namespace std;/狗的颜色:黑、白、黄、褐、花、其他enum DOGCOLOR BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER;class Dog/狗类DOCCOLOR color;char name20;static int count;public:Dog(char name,DOGCOLOR color)strcpy(this-name,name);/ERROR*found*strcpy

11、(this-color,color);DOGCOLOR getColor() const return color;/ERROR*found*const char*getName() const return*name;const char*getColorString() constswitch(color)case BLACK: return“black“;case WHITE: return“white“;case YELLOW: return“yellow“;case BROWN: return“brown“;case PIEBAIJD: return“piebald“;return“

12、motley“;void show() const cout“There is a“getColorString()“dog named“name.endl;;int main()/ERROR*found*Dog dog1(“Hoho“,WHITE),dog2(“Haha“,BLACK); dog3(“Hihi“,OTHER);dog1show();dog2.show();dog3.show();return 0:(分数:30.00)_正确答案:(this-color=color;2)const char* getName()const return name;3)Dog dog1(“Hoho

13、“,WHITE), dog2(“Haha“,BLACK),dog3(“Hihi“,OTHER);)解析:枚举变量的赋值,不能用 strcpy。strcpy 主要用于字符数组赋值,不能用于枚举赋值。2)getName 的函数返回类型是数组,应与 return 返回类型一致。name 本来就是一个字符数组,所以不需要再加“*“。3)定义同一类型的多个变量,变量之间用“,“隔开,最后一个变量后面跟“;“。二、2简单应用题(总题数:1,分数:40.00)2.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj2 下的工程 proj2,函数 void Insert(node*q)使程序能够完成如下

14、功能:从键盘输入一行字符,调用该函数建立反序的无头结点的单链表,然后输出整个链表。注意:请勿修改主函数 main 和其他函数中的任何内容,只需在画线处编写适当代码,也不能删除或移动/*found*。/源程序 proj2.cpp#includeiostreamusing namespace std;struct nodechar data;node*link:*head; /链表首指针void Insert(node*q) /将节点插入链表首部/*found*_;head=q;int main()char ch;node *p;head=NULL:cout“Please input the st

15、ring“endl;while(ch=cin.get()!=/n)/*found*_;/用 new 为节点 p 动态分配存储空间p-data=ch;/*found*_; /在链表首部插入该节点p=head;while(p!=NULL)coutp-data;p=p-link;coutendl;return 0:(分数:40.00)_正确答案:(1)node*head;2)p=new node();3)p-link=head; head=p;)解析:1)后面有 head=q;,显然有个变量头指针没定义,所以在该行应该定义一个头指针 head。2)为指针 p 分配内存空间。3)将新结点插入到链表中,

16、链表的指针顺序不能搞错,应该是先将 p-link 指向 head 指向的地址,然后将 head 指针指向 p。三、3综合应用题(总题数:1,分数:30.00)3.请使用“答题”菜单或使用 VC6 打开考生文件夹 proj3 下的工程 proj3,其中声明了 DataList 类,这是一个用于表示数据表的类。sort 成员函数的功能是将当前数据表排序,使得表中的元素呈升序排列。请编写这个 sort 函数。程序的正确输出应该是:排序前:7,1,3,11,6,9,12,10,8,4,5,2排序后:1,2,3,4,5,6,7,8,9,10,11,12要求:补充编制的内容写在/*333*与*666*两行

17、之间,不得修改程序的其他部分。注意:程序最后已经将结果输出到文件 out.dat 中。输出函数 writeToFile 已经编译为 obj 文件,并且在本程序中调用。/源程序#include“DataList.h“DataList: DataList(int len, double data):len(len)d=new doublelen;for(int i=0; ilen; i+) di=(data=NULL?0.0:datai);void DataList:sort()/数据表排序/*333*/*666*void DataList:show() const/显示数据表for(int i=

18、0; ilen-1,i+) coutdi“,“;coutdlen-1endl;int main()double s=7,1,3,11,6,9,12,10,8,4,5,2;DataList list(12,s);cout“排序前:“;list.show();list.sort();coutendl“排序后:“;list.show();/writeToFile(“K:/b10/61000102/“,list);return 0:(分数:30.00)_正确答案:(/*333*int n=len:int tmp;for(int i=0;in;i+)for (int j=0;ji;j+)if(didj)tmp=di;di=dj;dj=tmp;/*666*)解析:解析 首先取得数组的长度 len。然后利用插入法进行排序,逐次比较已经有序的数组序列,待排的 di和前面 i-1 个已经有序的数组序列比较,如果 didj,则交换位置。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1