【计算机类职业资格】二级C++-35及答案解析.doc
《【计算机类职业资格】二级C++-35及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-35及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-35 及答案解析(总分:61.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个 catch 必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeiostream.hint main()trythrow(“error“);/*error*catch(char s)coutsend1;t
2、rythrow(int)0);/*error*catch()coutiend1;trythrow(0);throw(“error“);/*error*catch()cout“ERROR“end1;return 0;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、B2简单应用题/B(总题数:1,分数:1.00)1.请编写一个函数 int Count(double a,int n),统计出具有 n 个元素的一维数组中大于等于所有元素平均值的元素个数并返回这个值。注意:请使用 for 循环实现该函数。 注意:部分源程序已存在文件test12_2.cpp 中。 请勿修改主函数 mai
3、n 和其他函数中的任何内容,仅在函数 Count 的花括号中填写若干语句。 文件 test12_2 的内容如下: #includeiostream.h int Count(double a, int n) void main() double a5; cout“请输入 5 个 double 型的数字“endl; for(int i=0;i5;i+) cinai; int result=Count(a,5); cout“大于等于所有元素平均值的元素个数:“resultendl; (分数:1.00)_三、B3综合应用题/B(总题数:1,分数:30.00)2.请使用“答题”菜单或使用 VC6 打开考
4、生文件夹 proj3 下的工程 proj3,其中包含了类 Polyno-mial(“多项式”)的定义。形如 5x4+3.4x2-7x+2 代数式称为多项式,其中的 5 为 4 次项系数,3.4 为 2 次项系数,-7 为 1 次项系数,2 为 0 次项(常数项)系数。此例缺 3 次项,意味着 3 次项系数为 0,即省略了0x3。在 Polynomial 中,多项式的各个系数存储在一个名为 coef 的数组中。例如对于上面的多项式,保存在 coef0、coef1、coef4中的系数依次为:2.0、-7.0、3.4、0.0、5.0,也即对于 i 次项,其系数就保存在 coefi中。作为成员函数重载
5、的运算符“+”用于计算两个多项式的和,并返回作为计算结果的那个多项式。请补充完成文件 Polynomial.cpp 中重载运算符函数 operator+的定义。此程序的正确输出结果应为:p1+p2 的结果:7.3X4+20.6X3-41.2X2-2.4X+5p2+p3 的结果:-2.3X5+14.6X4+12.8X3+2.8X2+0.2X+1注意:只需要在 operator+的/*333*和/*666*之间填入若干语句,不要改动程序中的其他内容。/源程序/主函数#include“Polynomial.h“int main()double p1=5.0,3.5,-41.2,7.8,p2=0.0,
6、-5.9,0.0,12.8,7.3,p3=1.0,6.1,2.8,0.0,7.3,-2.3;Polynomial poly1(p1, sizeof(p1)/sizeof(double),poly2(p2, sizeof(p2) /sizeof(double),poly3(p3, sizeof(p3) /sizeof(double);cout“p1+p2 的结果:“(polyl+poly2).tostring()endl;cout“p2+p3 的结果:“(poly2+poly3).tostring()endl;/ writeToFile(“K:/b10/61000102/“);return 0:
7、/Polynomial.cpp 函数#include“Polynomial.h“#include strstream#include cmathconst char*Polynomial::tostring() const/将多项式转换成用于输出的字符串static char s1000;s0=0;strstream buf(s,1000);for(int i=num_of_terms-1;i=0;i-)if(coefi=0.0) continue, /0 系数项不输出if(coefi0.0) buf“-“; /负系数先输出“-“else if(strlen(s)=0) buf“ “;else
8、 buf“+“:buffabs(coefi);if(i0)buf“X“:if(i1)buf“i;bufends:return buf.str();Polynomial Polynomial: operator+(const Polynomial x) constdouble c100=0.0;/存放结果系数的数组,所有元素初始化为零。假定项数不会超过 100/下面的 n 为两个操作数中项数的较大者int n=(num_of_terms=x.num_of_terms? num_of_terms:x.num_of_terms);/将两个多项式的对应系数之和存放到数组 c 的对应单元中/*333*/
9、*333*while(n1cn-1=0.0)n-;/去除无效的(系数为 0 的)最高次项return Polynomial(c,n);(分数:30.00)_二级 C+-35 答案解析(总分:61.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个 catch 必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C35 答案 解析 DOC
