- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过本实验巩固《C++语言程序设计》课程教学成果,深入理解结构体、类和对象、继承与多态、指针、链表、动态分配内存和文件操作等C++程序设计中的中高级技术,熟练掌握C++语言的调试方法,初步培养良好的编程习惯和编程风格,初步学习程序文档的撰写方法。
题目
程序控制基础
IO流类
数组应用
简单图形管理
异质链表
图书管理系统
调试环境
VC++6.0
所有同学必须提交实验报告电子版一份,内容包括:
1、填写完整的实验报告;
2、所有程序的源代码及注释等相关文件;
请将所有文件压缩成rar格式一并提交,题目为“班级学号姓名.rar” 。
注意事项
任何人不得抄袭、拷贝。凡发现实验报告或源程序雷同,按不及格处理。
题目一 程序控制基础(8学时)
具体要求:
1、输入生日的年、月、日,输出是星期几
提示:公元1年1月1日是星期一,需要求出生日离1年1月1日共多少天。先计算公元1年到本日的上一年年底多少天,再加上本年到生日的上月底共多少天,最后加上当月过去多少天。注意对闰年进行区别处理;还应注意输入日期不合法时的意外处理。
思考并验证:
(1)验证:
今天是 年 月 日,星期 。
你的生日是 ,是星期 。
(2)程序中应该对输入日期的合法性进行验证,应该考虑哪些方面?
(3)判断闰年的条件是什么?
2、证明哥德巴赫猜想:任何大于6的偶数n都能表示为两个素数之和。要求输入任意一个大于6的偶数,输出两个素数之和,如输入40,输出“40=3+37” 。要求,定义并使用判断素数的函数,函数原形为 int sushu ( int a);
思考并验证:
假设sushu()函数已经定义好了,那main()函数该如何设计?请写出main()函数的算法描述,用到函数sushu()的时候直接调用即可。
在上述算法中,循环结束条件和步长是如何定义的?效率如何?如果效率可以进一步提高,应该如何修改结束条件和步长?请给出修改前后的循环执行次数对比,以n=100为例进行说明。
将算法分别用while,do…while语句再实现一次,需要修改哪些内容?
上述设计体现了模块化的思想,谈谈模块化的优点。
3、用二分法求方程x3-x-1=0在[1.0,1.5]区间的近似根。要求误差小于1e-5。
提示:(1)先取方程f(x)的两个粗略解x1=1.0和x2=1.5;
(2)f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间至少有一个根;
(3)取x3=( x1+ x2)/2,如果f(x3)=0,则x3就是方程的解;否则,在x1和x2中舍去和f(x3)同号者,根就在x3和另外那个没有舍去的粗略解组成的区间里;
(4)重复(3),如此反复取舍,直到xn与xn-1之差满足要求的误差时,xn便是方程f(x)的近似根。
思考并验证:
你的程序中,是如何控制循环结束的?具体说来,循环变量是什么?它的初始值和结束条件是什么?在循环中如何修改循环变量?
如果两个粗略解x1=1.4 , x2=2.0 ,你的程序运行时会出现什么情况,为什么?
修改你的程序,让用户输入开始的两个粗略解,如果得到解,退出,如果这两个粗略解不合适,可以让用户选择继续输入或退出程序。
4、用递归的方法实现fun函数的定义 : m,n均为正整数
fun (0,n)=n+1;
fun (m,0)=m+1;
fun (m,n)= fun (m-1,n)+ fun (m,n-1);
在主程序中输出fun (2,2).
例如:
fun (1,1)= fun (0,1)+ fun(1,0)=2+2=4
思考并验证:
考虑递归方法和非递归方法,你有何感想?
5、(选做)
New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c coins. Write a program that will determine, for any given amount, in how many ways that amount may be made up.
20c may be made up in 4 ways: 1 20c, 2 10c, 10c+2 5c, and 4 5c.
Input
Input will consist of a series of real numbers no greater than $10.00 each on a separate line. Each amount will be
文档评论(0)