欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级C++机试(操作题)-试卷153及答案解析.doc

    • 资源ID:1331733       资源大小:41.50KB        全文页数:4页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】国家二级C++机试(操作题)-试卷153及答案解析.doc

    1、国家二级 C+机试(操作题)-试卷 153及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用“答题”菜单或使用 VC6打开考生文件夹 projl下的工程 projl,此工程包含程序文件maincpp,其中有类 TimesTable(“乘法口诀表”)的定义和主函数 main的定义。程序中位于每个ERROR *found*下的语句行有错误,请加以改正。更正后程序的输出应该是:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5

    2、*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=82*8=16 3*8=24 4*8=32 5*8=加 6*8=48 7*8=56 8*8=641*9=92*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81注意:只能修改每个ERROR *found*下的那一行,不要改动程序中的其他内容。#includeiostream#includeiomanipusing namespace std;class

    3、 TimesTable乘法口诀表public:ERROR *found*TimesTable(int n=9)count:n;)void Print()const;private:const int count;ERROR *found*void Print()constint i,j;ERROR *found*for(i=1;icount;i+)for(J=1;j=i;j+)coutj* i=leftsetw(4)j*i;coutendl;int main()TimesTable obj;obj,Print();return 0;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00

    4、)2.请使用“答题”菜单或使用 VC6打开考生文件夹 proj2下的工程 proj2,此工程包含程序文件maincpp,其中有类 Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述定义。例如,当输入数值 3时,程序分别输出边长为 3的菱形和正方形,即此程序的正确输出结果应为:*注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动”*found*#inflnclude10stream#includeiomanipusing namespace std

    5、;class Graphics图形类public: Graphics(int e):edges(e) *found* ;protected:int edges;class Squares:public Graphics正方形类public: Squares(int x):Graphics(x) void Draw();,void Squares:Draw()int i,j;if(edges=0)cout“errors”endl; if(edges0) for(i=0;iedges ; i+)for(j=0;jedges;j+)coutsetw(2)*;coutendl;*found*菱形类 p

    6、ublic: Diamonds(int X):Graphics(x)void Draw();;void Diamonds:Draw()int i,j;if(edges=0)cout“errors”endl;if(edges0)for(i=0;iedges;i+) 输出菱形的上半部分coutsetw(edgesi),*found*cout*;coutendl;*found* 输出菱形的下半部分coutsetw(edgesi+1),for(j=0;j=2*(i 一 1);j+)cout*;coutend1; int main()int e;cout“请输入表示边长的整数:;cine;Graphic

    7、s*objs2;objS0=new Diamonds(e);objS1=new Squares(e);for(int i=0;i2;i+)obJ Si一Draw();delete objS0;delete,jobjS1,return 0;(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.请使用“答题”菜单或使用 VC6打开考生文件夹 proj3下的工程 proj3,其中声明了 MagicNumber:类,该类是一个用于表示连续正整数序列的类。MagicNumber 的成员函数 Nar-cissistic的功能是查找该序列中的水仙花数水仙花数是指一个 n位数(11=3),其每个

    8、位上的数字的 n次方之和等于该数本身,例如153就是一个 3位的水仙花数(153=1*1*1+5*5*5+3*3*3).请编写成员函数 Narcissistic。在 main函数中给出了一组测试数据,若输入 3,此时程序的输出应该是:3 位的水仙花数共 4个:153370371407 注意:只需在*333*和*666*之间填入所编写的若干语句,不要改动程序中的其他内容。#include”MagicNumberh”void MagicNumber:Narcissistic() int i,number,sum,figures30; for(number=min;numbermax;number+

    9、)int X=number;i=0;while(X!=0)figuresi=xi0,i+;x=i0;*333*666* int main() int d;cout”请输入位数:cind;MagicNumber obj(d);objNarcissistic();objPrint(string(”水仙花数”);writeToFile(”C:test-);return 0;proj3MagicNumberh#includeiostream#includestring#includecmathusing namespace std;clas s MagicNumberpublic: MagicNumb

    10、er(int d):digits(d),min(pow(i0,digits一 1),max(pow(i0,digits)一1),count(0) MagicNumber(int xl,int x2):min(x1),max(x2)void ResetCount()count=0 ;int GetCount()constreturncount;)int GetSet(int index)return setindex;void Narcissistic(); 查找水仙花数 void Print(string&str) coutdigits”位的”str”共”count”个:”endl;for(i

    11、nt i=0;icount;i+)coutsetiendl;private: int digits;Magic 数的位数 int min,max; 待计算的数值范围 int count; Magic 数的数量 int set20;Magic 数集合;void writeToFile(const char*);(分数:2.00)_国家二级 C+机试(操作题)-试卷 153答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用“答题”菜单或使用 VC6打开考生文件夹 projl下的工程 projl,此工程包含程序文件maincpp,其中有类 Time

    12、sTable(“乘法口诀表”)的定义和主函数 main的定义。程序中位于每个ERROR *found*下的语句行有错误,请加以改正。更正后程序的输出应该是:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=82*8=16 3*8=24 4*8=32 5*8=加 6*8=48 7*8=5

    13、6 8*8=641*9=92*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81注意:只能修改每个ERROR *found*下的那一行,不要改动程序中的其他内容。#includeiostream#includeiomanipusing namespace std;class TimesTable乘法口诀表public:ERROR *found*TimesTable(int n=9)count:n;)void Print()const;private:const int count;ERROR *found*void Print()const

    14、int i,j;ERROR *found*for(i=1;icount;i+)for(J=1;j=i;j+)coutj* i=leftsetw(4)j*i;coutendl;int main()TimesTable obj;obj,Print();return 0;(分数:2.00)_正确答案:(正确答案:(1)TimesTable(int n=9):count(n) (2)void TimesTable:Print()const (3)for(i=1;i=0;i 一一) sum+=pow(figuresi,digits); if(sum=number) setcount+=number; )

    15、解析:解析:主要考查类构造函数的使用,初始化列表。获取整数各个位上的数值。 【解题思路】 MagicNumber类中的成员变量 digits代表连续数列的位数,构造函数首先使用参数来初始化 digits,然后根据 digits初始化 min和 max,其中 min代表 digits位数的最小值,max 代表 digits位数的最大值,count用来统计 minmax范围内的水仙花数的个数,set 数组用来存储 minmax 范围内的水仙花数。程序首先在 main函数根据用户输入的数字 d来构造一个 MagicNumber对象,构造函数完成digits、min、max 的初始化,然后调用 Mag

    16、icNumber对象的成员函数 Narcissistic()来统计所有 digits位数的水仙花数信息。for 循环通过遍历 minmax 范围内的所有数,在遍历过程中,while 循环将当前遍历到的数 x的各个数位上的数字统计到 figures数组的前 digits个元素中,接下来需要做的事情就是判断 x是否是水仙花数,即将 figures数组的前 digits个元素分别求 digits次方(位数次方)再相加,累加的和存储到 sum中,最后判断 sum是否与当前数 x(number)相等,若相等,则 x属于水仙花数,这时需要把 x存储到下标为 count的 set数组中,同时 count变量自增 1(水仙花数个数加 1),否则的话继续下一次 for循环,直到当前数 x达到最大值 max为止。统计完水仙花数后,再调用对象的 Print函数,输入水仙花数信息。


    注意事项

    本文(【计算机类职业资格】国家二级C++机试(操作题)-试卷153及答案解析.doc)为本站会员(王申宇)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开