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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[计算机类试卷]国家二级C++机试(操作题)模拟试卷151及答案与解析.doc

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

2、*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=82*8=16 3*8=24 4*8=32 5*8=加 6*8=48 7*8=56 8*8=64 1*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*下的那一行,不要改动程序中的其他内容。 #include #include using namespace std; class TimesTable乘法口诀表 public:

3、ERROR *found* TimesTable(int n=9)count: n; ) void Print()const; private: const int count; ; ERROR *found* void Print()const int i, j; ERROR *found* for(i=1; i #include using namespace std; class Graphics图形类 public: Graphics(int e): edges(e) *found* ; protected: int edges; ; class Squares: public Gra

4、phics正方形 类 public: Squares(int x): Graphics(x) void Draw(); , void Squares: Draw() int i, j; if(edges0) for(i=0; i0) for(i=0; ie; Graphics*objs2; objS0=new Diamonds(e); objS1=new Squares(e); for(int i=0; iDraw(); delete objS0; delete, jobjS1, return 0; 三、综合应用题 3 请使用 “答题 ”菜单或使用 VC6打开考生文件夹 proj3下的工程 p

5、roj3,其中声明了 MagicNumber:类,该类是一个用于表示连续正整数序列的类。 MagicNumber的成员函数 Nar-cissistic的功能是查找该序列中的水仙花数水仙花数是指一个 n位数 (11=3),其每个位上的数字的 n次方之和等于该数本身,例如 153就是一个 3位的水 仙花数 (153=1*1*1+5*5*5+3*3*3).请编写成员函数 Narcissistic。在 main函数中给出了一组测试数据,若输入 3,此时程序的输出应该是: 3位的水仙花数共4个: 153 370 371 407 注意:只需在 *333*和 *666*之间填入所编写的若干语句,不要改动程序

6、中的其他内容。 #include”MagicNumber h” void MagicNumber: Narcissistic() int i, number, sum, figures30; for(number=min; numberd; MagicNumber obj(d); obj Narcissistic(); obj Print(string(”水仙花数 ”); writeToFile(”C: test -); return 0; proj3 MagicNumber h #include #include #include using namespace std; clas s Ma

7、gicNumber public: MagicNumber(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()constreturn count; ) int GetSet(int index)return setindex; void Narcissistic(); 查找水仙花数 void Print(string&

8、str) cout0; i一一 ) 【试题解析】 主要考查类的纯虚函数的使用,类的公有继承,以及简 单图形的构造。 【解题思路】 (1)由于 Graphic的子类都使用了 Draw()成员函数,并且都有自己各自不同的实现,很容易发现类中成员多态的特性,类的多态是使用虚函数来实现的。 (2)Diamonds的成员函数 Draw()中使用了 edges。但是类 Diamonds中没有该成员,而 Graphic中有此成员,可知该类公有继承了 Graphic。 (3)根据图形的变化可知第一行 1个 *,第二行 3个 *,第三行 5个 *,增长的规律是2*i+1,因而可以很容易得出结果。 (4)菱形的下

9、半部分是由 5个木开始递减的,即从最大边 递减,直到为 0,可以得出答案。 三、综合应用题 3 【正确答案】 sum=0; for(i=i一 1; i=0; i一一 ) sum+=pow(figuresi, digits); if(sum=number) setcount+=number; 【试题解析】 主要考查类构造函数的使用,初始化列表。获取整数各个位上的数值。 【解题思路】 MagicNumber类中的成员变量 digits代表连续数列的位数,构造函数首先使用参数来初始化 digits,然后根据 digits初始化 min和 max,其中 min代表 digits位数的最小值, max代

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

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