归纳算法(翻硬币问题).doc

归纳算法(翻硬币问题).doc

ID:31995108

大小:91.50 KB

页数:10页

时间:2019-01-30

归纳算法(翻硬币问题).doc_第1页
归纳算法(翻硬币问题).doc_第2页
归纳算法(翻硬币问题).doc_第3页
归纳算法(翻硬币问题).doc_第4页
归纳算法(翻硬币问题).doc_第5页
资源描述:

《归纳算法(翻硬币问题).doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、福建工程学院计算机与信息科学系实验报告2010–2011学年第一学期任课老师:实验题目归纳算法设计技术的应用实验时间实验开始日期:2010/11/26报告提交日期:2010/11/26实验目的、要求一、实验题目1、有N个硬币(N为偶数)正面朝上排成一排,每次将N-1个硬币翻过来放在原位置,不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。设计程序让计算机把翻币的最简过程以及翻币次数输出(用*表示正面,O表示反面)2、有N个硬币(N为奇数)正面朝上排成一排,每次将N-2个硬币翻过来放在原位置,不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。设计程序让计算机把翻币的最简过程以及翻币次

2、数输出(用*表示正面,O表示反面)二、实验要求1.该实验的课内学时是4个课时。加强要求:1)将1、2题集成为一个程序,根据用户输入判断奇数还是偶数,执行相应的过程。实验设计内容(1)实验设计的数据结构(1)数组ints[1000];;(2)层次图(3)各个函数分析/***************翻硬币过程1(偶数)******************/intUpturn_process1(intcoins_Number){inti,j;for(i=0;i

3、coins_Number;j++){if(j!=i)s[j]=!s[j];//将i后面的硬币全部翻转过来printf("%3c",s[j]?'*':'0');//s[j]=1时为正面,打印*,否则打印0}printf("");}}/***************翻硬币过程2(奇数)******************/intUpturn_process2(intcoins_Number){inti,j,count;for(i=0;i

4、oins_Number;j++){if(j!=i&&j!=i+1)s[j]=!s[j];//将i+1后面的硬币全部翻转过来printf("%3c",s[j]?'*':'0');//s[j]=1时为正面,打印*,否则打印0if(s[j])count++;//统计正面个数}printf("");if(count==coins_Number-2){getchar();printf("Stept%d:",i+2);for(j=0;j

5、(5)流程图调试过程记录for(i=0;i

6、);printf("");break;}}当N为奇数时,要进行判断,当正面个数等于N-2时,经过最后一次翻转结束。刚开始没有进行判断,所以出错。实验结果记录以及与预期结果比较以及分析总结以及心得体会有些问题看来很复杂,但它们是有一定规律的。只要深入细致地进行分析,找到这些规律,然后按规律编制相应的程序,问题就迎刃而解了。刚开始接触题目的时候,不知道是什么意思,后来通过直接翻转硬币找到了规律,最终也解决了问题。指导老师评阅意见指导老师:年月日#include#include#include#includeints

7、[1000];/*硬币状态标志,1时硬币是正面,0时硬币是反面*//***************翻硬币过程1(偶数)******************/intUpturn_process1(intcoins_Number){inti,j;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。