【计算机类职业资格】国家二级C++机试(操作题)模拟试卷336及答案解析.doc
《【计算机类职业资格】国家二级C++机试(操作题)模拟试卷336及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(操作题)模拟试卷336及答案解析.doc(5页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 336及答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 pmj1,其中有点类 Point和线段类Line和主函数 main的定义,程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出应为: p1=(8,4)p2=(3,5) 注意:只修改两个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostream#includecmathusing namespace std;c
2、lasS Point double x,Y;public: Point(double x=00,double Y=00)ERROR*found* X=x;Y=Y;) double getX()const(return X;) double getY()constreturn y;ERROR*found* void show()constcout(X,Y);clasS Line Point p1,p2;public: Line(Point pt1,Point pt2) ERROR*found* pt1=p1;pt2=p2; Point getP1()constreturn p1; Point g
3、etP2()constreturn p2;) ; int main() Line line(Point(8,4),Point(3,5); cout”p1=”; linegetP1()show(); cout”p2=”; linegetP2()show(); coutendl; return 0; (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)2.请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2,其中有矩阵基类 MatrixBase、矩阵类 Matrix和单位阵 UnitMatrix的定义,还有 main函数的定义。请在横线处填写适当的代码并删除横
4、线,以实现上述类定义。此程序的正确输出结果应为: 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 O 0 1 0 0 O 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。#includeiostreamusing namespace std;矩阵基础类,一个抽象类 class MatrixBase int rows,cols;public: MatrixBase(int rows, int cols):rows(ro
5、ws),cols(cols) int getRows()const return rows; 矩阵行数 int getCols()constreturn cols; 矩阵列数 virtual double getElement(int r,int C)const=0;取第 i个元素的值 void show()const分行显示矩阵中所有元素 for(int i=0;irows;i+) coutendl; for(int j=0;jcols;j+) *found*WW* cout_”; /矩阵类 class Matrix:public MatrixBase double*val;public:*
6、found* Matrix(int rOWS,int cols,double m=NULL):_*found*val=_;for(int i=0;irows*cols;i+) vali=(m=NULL?00:mi); 一 Matrix()deleteval;) double getElement(int r,int C)constreturn valr*getCols()+C;);单位阵(主对角线元素都是 1,其余元素都是 0的方阵)类class UnitMatrix:public MatrixBasepublic: UnitMatrix(int rows):MatrixBase(rows,r
7、ows)单位阵行数列数相同 double getElement(int r,int C)const* found*if(_)return 10;return 00; ; int main() MatrixBase*m; double d5=1,2,3,4,5),2,3,4,5,6),3,4,5,6,7); m=new Matrix(3,5,(double*)d);m-show(); delete m; coutendl;m=new UnitMatrix(6);m-show();delete m;return 0;(分数:2.00)_3.请使用 VC6或使用【答题】菜单打开考生文件夹 proj2
8、下的工程 proj2,此工程包含一个源程序文件proj2cpp。其中定义了 Score类。 Score 是一个用于管理考试成绩的类。其中,数据成员一 s指向存储成绩的数组,_n 表示成绩的个数;成员函数 Sort使用冒泡排序法将全部成绩按升序进行排列。 请在程序中的横线处填写适当的代码,然后删除横线,以实现 Score类的成员函数 Sort。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。proj2cpp#includeiostream#includecstdlib#includectimeusing namespace std;clasS Sc
9、orepublic: Score(double*S,int n):_S(S),_n(n) double GetScore(int i)constreturn Si;) void Sort();private: double* S; int n; ; void Score:Sort() *found* for(int i=0;i n 一 1; *found* for(int j= ;ji;j 一一) if(_Sj_Sj 一 1) 交换_sj和_sj 一 1 double t=Sj; /* found* _;: /* found* _; int main() const int NUM=10; d
10、ouble SNUM; srand(time(0); for(int i=0;iNUM;i+) Si=double(rand()RAND MAX*100; Score SS(S,NUM); SSSort(); for(int J=0;jNUM;j+) coutSSGetScore(j)endl; return 0; (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)4.请使用 VC6或使用【答题】菜单打开考生文件夹 oroj3下的工程 proj3,其中声明了 SortedList类,是一个用于表示有序数据表的类。其成员函数 insert的功能是将一个数据插入到一个有序表中,使得该
11、数据表仍然保持有序。请编写这个 insert函数。程序的正确输出应为: 插入前: 1,2,4,5,7,8,10 插入 6和 3后: 1,2,3,4,5,6,7,8,10 要求: 补充编制的内容写在“*333*”与“*666*”之间。不得修改程序的其他部分。注意:程序最后将结果输出到文件 outdat 中。输出函数 wfiteToFfle已经编译为 obj文件,并且在本程序中调用。/SortedList,h#includeiostreamusing namespace std;class SortedList有序数据表类 int len; double*d;public: SortedList(
12、int len,double data=NULL); 一SortedList()deleted;) int length()constreturn len;)有序数据表长度(即元素的个数) double getElement(int i)cons treturn di; void insert(double data); void show()const;显示有序数据表;void writeToFile(char*,const Sort edLiSt);maincpp#include”SortedListh”SortedLiSt: SortedList (int len,double data
13、):len(len)( d=new doublelen; for(int k=0;klen;k+) dk=(data=NULL?00:datak); for(int i=0;ilen 一 1;i+) int m=i; for(int j=i;jlen;j+) if(djdm)m=j; if(mi) double t=dm; dm=di; di=t; void SortedList:insert(double data)*333*666*void SortedList:show()const显示有序数据表 for(int i=0;ilen 一 1;i+) coutdi”,”; coutd1en1
14、endl;int main()double S=5,8,1,2,10,4,7;SortedList list(7,S);cout“插入前:”endl;listshow();listinsert(60);liStinsert(30);cout“插入 6和 3后:”endl;listshow();writeToFile(”,list);return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 336答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 pmj1,其中有点类
15、 Point和线段类Line和主函数 main的定义,程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出应为: p1=(8,4)p2=(3,5) 注意:只修改两个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostream#includecmathusing namespace std;clasS Point double x,Y;public: Point(double x=00,double Y=00)ERROR*found* X=x;Y=Y;) double getX()const(return X;) do
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 操作 模拟 试卷 336 答案 解析 DOC
