猴子选大王C语言课程设计

猴子选大王C语言课程设计

ID:44548837

大小:94.22 KB

页数:8页

时间:2019-10-23

猴子选大王C语言课程设计_第1页
猴子选大王C语言课程设计_第2页
猴子选大王C语言课程设计_第3页
猴子选大王C语言课程设计_第4页
猴子选大王C语言课程设计_第5页
资源描述:

《猴子选大王C语言课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、猴子选大王一、设计目的1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基木算法,分析并正确确定数据的逻辑结构,合理地选择和应的存储结构,并能设计岀解决问题的有效算法。2、提高程序设计和调试能力。学牛通过上机实习,验证自己设计的算法的正确性。学会冇效利用基木调试方法,迅速找出程序代码屮的错谋并且修改。3、初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5、培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二、设计内容

2、1、系统名称:猴了选大王按照规定的要求,选出最后的一只猴子,为大王。2、要求:一堆有编号的猴了,编号为1,2,3……m,这群猴了(m个)按照的顺序

3、羽坐一圈,从第一开始数,每数到第N个,该猴子就要离开此圈,这样依次下來,直到圈屮剩下授后一只猴了,则该猴了为大王。三、程序设计步骤1)采用主要的数据结构类型。采用了链表的存储方式,属于链接存储结构。for(i=l;inext=p;p2=p;}以下是用于存储结点的结构体的定义:typedefstructm

4、onkey{intnum;structmonkey*next;}Monkey,*LINK;基本算法:这个算法的主耍流程为:从控制台读取猴子的数量和报数的最大数——>乂寸猴子进行编号,并用链表来存储——>让链表中的猴子进行报数,对于报数为m的猴了则从链表中删除——>当链表中只剩下一个报数后则停止这个过程,这最后一个猴子即选出来的大壬。以下为为猴子建立链表:for(i=l;inext=p;P2=P;}以下为猴子进行编号:for(i=l;i<=n;i+

5、+)//对猴子进彳亍编号{p->num=i;//printf('•%d号猴子:%d",p->numzp->num);p=p->next;}以下为最主要的算法过程,是通过一个While循环来控制的,是让猴子报数的过程,并删除报数为m的猴子:while(1){i++;//当链表只剩最后一个元素了则跳出循环,此时报数已完成printf(号猴子扌艮:%d"zp->numzi);if(p->next==p)break;if(i==m){i=0;printf("%d号猴被淘汰"zp->num);printf("n);p2->next=p->next

6、;p=p2->next;continue;}else{if(i==m-l)p2=p;p=p->next;}}2)详细设计:#include#includeintn=2;intm=l;typedefstructmonkey{intnum;structmonkey*next;}Monkey,*LINK;voidmain(){printf("tij输入一个整数(猴子数量):”);scanf("%d",&n);printf(Uiu输入一个小于猴子数量的整数(报数的最大数):”);scanf("%d",&m);LINKp,h

7、ead,p2;inti;head=p=p2=(LINK)malloc(sizeof(Monkey));for(i=l;inext=p;p2=p;}p2->next=head;p=head;//printf("对猴子进行编号!");for(i=l;i<=n;i++)//对猴子进行编号p->num=i;//printf('•%d号猴了:%d"zp->num,p->num);p=p->next;i=0;p=head;while(1){i++;/

8、/当链表只剩最后一个元索T则跳出循环,此时报数已完成printf("%d号猴了扌艮:%d",p->numzi);if(p->next==p)break;if(i==m){i=0;printf(”%d号猴被淘汰”zp->num);printf("");p2->next=p->next;p=p2・>next;continue;}else{if(i==m-l)p2=p;p=p->next;}}printf(”胜出:%d"zp->num);四、调试分析调试的过程屮,对程序做了几点改进,增加了程序的容错能力,不论用户输入什么内容,程序都能安全检查。这

9、个算法主要考察了对数据存储方式的处理和循环判断的处理。我在这里用了链表的存储方式。五、测试结果

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

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

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