课程设计-猴子吃桃

课程设计-猴子吃桃

ID:38423228

大小:70.00 KB

页数:12页

时间:2019-06-12

课程设计-猴子吃桃_第1页
课程设计-猴子吃桃_第2页
课程设计-猴子吃桃_第3页
课程设计-猴子吃桃_第4页
课程设计-猴子吃桃_第5页
资源描述:

《课程设计-猴子吃桃》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、湖南工学院数据结构课程设计题目:数据结构实现—猴子吃桃系别:专业:年级:班级:学生:学号:12目录l论文提要………………………………………3l需求分析………………………………………4l详细设计………………………………………5n数组结构……………………………………………5n递归……………………………………………………7n链表……………………………………………………9l调试结果………………………………………11l调试分析………………………………………1212论 文 提 要初步分析说明数据结构和抽象数类型等基本概念;从抽象数据类型的角度

2、,通过数学应用的分析,把问题进行分析,整理,面后通过观察选择适当的逻辑结构、存储结构入及其相应的算法来解决问题,数据结构课程主要是为了培养我们对数据的抽象能力和对算法在时间和空间和复杂度上进行优化,猴子吃桃这一数学方面的例题是很典型的一道程序例题,在这里主要以C语言作为数据结构和描述语言,分析并采用数组数据结构,递归,链数据结构实现上述问题。12需求分析实现课题——猴子吃桃摘要:猴子吃桃这一典型的数学课题,其主要实现的过程是将其数学课题公式化,用一些简单的数据定义、初使化、通过一系列的条件判断和循环用来实现学数公式的计算机化。通过

3、C语言基础分析和数据结构初步了解,我们使用C语言,利用C和数据结构的结合使用,让我们在短时间内建立起对数据结构的进一步认识。然后,形成正确的对算法和优有个的理解观念。关键词:C语言的基本了解,数据结构的基本了解,数据中数组的使用,递归调用,用C语言实现数据链表题目:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少?要求:采用数组,递归,链数据结构实现上述求解12详细设

4、计1.数组结构把猴子吃桃的天数倒过来看的话,以天数作为数组的下标i,剩下桃子的个数a[i]的递推公式为a[i]=(a[i-1]+1)*2。a[i]实际代表了倒数第i天剩下的桃子数。数组结构算法的流程图如图3-1:开始建立一个以天数为下标以剩下桃子数为元素的数组规定此数组的通向公式求第一天的桃子数结束程序如下:#includevoidmain(){12inti,tao[10];tao[9]=1;//tao[9]代表第10天剩的桃子数for(i=8;i>=0;i--){tao[i]=2*(tao[i+1]+1);}p

5、rintf("共摘了%d个桃子!",tao[0]);}122.链结构建立一个链表,根据每天桃子数与后一天桃子数的关系n=2*n+2,依次将每天的桃子数存进链表中,最后输出第一天的桃子数。首先是建立一个空链表,产生一个头结点,且将头结点的地址赋给L。然后把每天的桃子数从链表的第一个结点插入链表。最后第一天的桃子数被最后一个插入链表,成为链表中第一个值,将其赋给e,最后只要输出e即得到第一天的桃子数。程序如下:#include"stdio.h"#include"stdlib.h"#defineTRUE1#defineFALSE0#

6、defineNULL0typedefintElementType;typedefstructnode{ElementTypedata;structnode*next;}StackNode,*LinkStack;voidInitStack(LinkStacktop){top->next=NULL;}12intIsEmpty(LinkStacktop){if(top->next==NULL)returnTRUE;elsereturnFALSE;}intPush(LinkStacktop,ElementTypeelement){Stac

7、kNode*temp;temp=(StackNode*)malloc(sizeof(StackNode));if(!temp)returnFALSE;else{temp->data=element;temp->next=top->next;top->next=temp;returnTRUE;}}intPop(LinkStacktop,ElementType*element){if(IsEmpty(top))returnFALSE;else{StackNode*temp=top->next;*element=temp->data;t

8、op->next=temp->next;free(temp);returnTRUE;}}voidmain()12{inti=10,data;Stacks;InitStack(s);PushStack(s,1);while(i-->1){data=P

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

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

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