数据结构课程设计-猴子吃桃问题
猴子吃桃子问题 数据结构课程设计

目录1、需求分析 (1)2、概要设计 (1)2.1.用数组数据结构实现上述求解 (1)2.2.用链数据结构实现上述求解 (1)2.3 用栈数据结构实现求解 (1)2.4 用递归实现上述求解 (2)3、运行环境 (2)3.1 硬件环境 (2)3.2软件环境 (2)4、详细设计 (2)4.1系统流程图 (2)4.2用数组数据结构实现上述求解 (3)4.3用链数据结构实现上述求解 (4)4.4用栈数据结构实现求解 (5)4.5用递归实现上述求解 (6)5、调试分析 (7)6、运行结果 (7)课程设计总结 (8)参考文献 (9)附录: (9)1、需求分析1、猴子吃桃子问题有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:1)采用数组数据结构实现上述求解2)采用链数据结构实现上述求解3)采用栈实现上述求解4)采用递归实现上述求解2、概要设计2.1.用数组数据结构实现上述求解在taozi函数中定义一个一维数组,分别存储每天的桃子个数,根据题目的内容找出各个数之间的关系,用数组元素表示出来,根据用户输入要计算哪一天的桃子,用for循环控制结束。
在main函数中让用户输入要计算的哪一天,调用taozi 函数,以便用户可查出任意一天的桃子个数,用switch语句判断用户要执行的功能,然后用while循环控制,直到用户输入0为止。
2.2.用链数据结构实现上述求解先写出预定义常量和类型,写出结点的类型定义,创建结点,初始化链表,定义变量并初始化,找出结点与其后继结点之间的联系,然后在主函数中控制。
2.3 用栈数据结构实现求解本部分包括预定义常量和类型,顺序栈的定义,InitStack函数,Push函数,和main函数,在InitStack函数构造一个空栈,在Push函数中调用该函数,并在其中编写控制栈顶指针和栈底指针移动的语句,找出指针所指向的数据之间的关系,在main函数中编写控制循环结束的语句,最后再用main函数去调用Push函数。
猴子吃桃子问题大数据结构课程设计

标准文档目录1、 .................................................. 需求分析12、 .................................................. 概要设计12.1. 用数组数据结构实现上述求解 (1)2.2. 用链数据结构实现上述求解 (1)2.3用栈数据结构实现求解 (1)2.4用递归实现上述求解 (2)3、运行环境 (2)3.1硬件环境 (2)3.2软件环境 (2)4、详细设计 (2)4.1系统流程图 (2)4.2用数组数据结构实现上述求解 (3)4.3用链数据结构实现上述求解 (4)4.4用栈数据结构实现求解 (5)4.5用递归实现上述求解 (6)5、调试分析 (7)6、 .................................................. 运行结果7课程设计总结 (8)参考文献 (9)附录: (9)1、需求分析1、猴子吃桃子问题有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10 天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:1) 采用数组数据结构实现上述求解2) 采用链数据结构实现上述求解3) 采用栈实现上述求解4) 采用递归实现上述求解2、概要设计2.1. 用数组数据结构实现上述求解在taozi 函数中定义一个一维数组,分别存储每天的桃子个数,根据题目的内容找出各个数之间的关系,用数组元素表示出来,根据用户输入要计算哪一天的桃子,用for 循环控制结束。
在main 函数中让用户输入要计算的哪一天,调用taozi 函数,以便用户可查出任意一天的桃子个数,用switch 语句判断用户要执行的功能,然后用while 循环控制,直到用户输入0 为止。
2.2. 用链数据结构实现上述求解先写出预定义常量和类型,写出结点的类型定义,创建结点,初始化链表,定义变量并初始化,找出结点与其后继结点之间的联系,然后在主函数中控制。
数据结构与算法 猴子吃桃

课程设计说明书课程名称:数据结构与算法设计题目:猴子吃桃问题院系:计算机科学与信息工程系学生姓名:学号:专业班级:指导教师:2010年6月18日课程设计任务书设计题目猴子吃桃问题学生姓名蒋耀辉所在院系计算机科学与信息工程系专业、年级、班08软件工程班设计要求:分别用以下三种方法实现对猴子吃桃问题的求解:(1)数组数据结构(2)链表数据结构(3)递归问题描述如下:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第十天就只剩下一只桃子,求出它们第一天摘了多少桃子。
学生应完成的工作:以小组为单位,分工合作完成以下任务(1)编写程序实现对上述猴子偷桃问题的求解并运行出结果;(2)在制定期限内提交程序并完成答辩;(3)提交出详细的课程设计说明书。
参考文献阅读:(1)严蔚敏,吴伟民.数据结构(C语言版)—北京:清华大学出版社2007IBSN978-7-302-14751-0;(2)谭浩强.C语言程序教程—北京:清华大学出版社2007.7 IBSN978-7-302-15157-9;(3)(美)(Liang,Y.D)C++程序设计—北京:机械工业出版社 2008.5 IBSN978-7-111-23996-3。
工作计划:1、确定自己负责模块的作用2、写出模块算法3、写出源代码4、验证与修改任务下达日期:2010 年 6 月7 日任务完成日期:2010 年 6 月18 日指导教师(签名):学生(签名):(设计题目)摘要:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:1)采用数组数据结构实现上述求解2)采用链数据结构实现上述求解3)采用递归实现上述求解关键词:数组链递归目录1. 设计背景 (1)1.1时代背景 (1)1.2能力要求 (1)2.设计方案 (1)2.1初步分析 (1)2.2 问题细化 (2)3. 方案实施 (2)3.1初步探讨 (2)3.2 详细过程 (2)4.结果与结论 (3)5. 收获与致谢 (3)6. 参考文献 (3)7. 附件 (4)源程序 (4)1. 设计背景1.1时代背景数据结构是由数据元素依据某种逻辑联系组织起来的。
课程设计-猴子吃桃

湖南工学院数据结构课程设计题目:数据结构实现—猴子吃桃系别:专业:年级:班级:学生:学号:目录●论文提要 (3)●需求分析 (4)●详细设计 (5)⏹数组结构 (5)⏹递归 (7)⏹链表 (9)●调试结果 (11)●调试分析 (12)论文提要初步分析说明数据结构和抽象数类型等基本概念;从抽象数据类型的角度,通过数学应用的分析,把问题进行分析,整理,面后通过观察选择适当的逻辑结构、存储结构入及其相应的算法来解决问题,数据结构课程主要是为了培养我们对数据的抽象能力和对算法在时间和空间和复杂度上进行优化,猴子吃桃这一数学方面的例题是很典型的一道程序例题,在这里主要以C语言作为数据结构和描述语言,分析并采用数组数据结构,递归,链数据结构实现上述问题。
需求分析实现课题——猴子吃桃摘要:猴子吃桃这一典型的数学课题,其主要实现的过程是将其数学课题公式化,用一些简单的数据定义、初使化、通过一系列的条件判断和循环用来实现学数公式的计算机化。
通过C语言基础分析和数据结构初步了解,我们使用C语言,利用C和数据结构的结合使用,让我们在短时间内建立起对数据结构的进一步认识。
然后,形成正确的对算法和优有个的理解观念。
关键词:C语言的基本了解,数据结构的基本了解, 数据中数组的使用,递归调用,用C语言实现数据链表题目:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少?要求:采用数组,递归,链数据结构实现上述求解详细设计1.数组结构把猴子吃桃的天数倒过来看的话,以天数作为数组的下标i,剩下桃子的个数a[i]的递推公式为a[i]=(a[i-1]+1)*2。
a[i]实际代表了倒数第i天剩下的桃子数。
数组结构算法的流程图如图3-1:程序如下:#include<stdio.h>void main(){int i,tao[10];tao[9]=1;//tao[9]代表第10天剩的桃子数for(i=8;i>=0;i--){tao[i]=2*(tao[i+1]+1);}printf("共摘了%d个桃子!\n",tao[0]); }2.链结构建立一个链表,根据每天桃子数与后一天桃子数的关系n=2*n+2,依次将每天的桃子数存进链表中,最后输出第一天的桃子数。
数据结构实现猴子吃桃

《数据结构》课程设计报告(猴子吃桃)学院:东方科技学院班级:08级信息工程1班学号:200841919116姓名:朱旭指导教师:贺细平老师目录一、题目概要 (1)二、基本概念和要点 (1)三、举例分析 (3)四、设计分析 (10)五、运行结果 (10)六、总结体会 (11)课程论文题目学生:朱旭(东方科技学院08级信息工程一班,学号200841919116)一、题目概要实现课题——猴子吃桃摘要:猴子吃桃这一典型的数学课题,其主要实现的过程是将其数学课题公式化,用一些简单的数据定义、初使化、通过一系列的条件判断和循环用来实现学数公式的计算机化。
通过C语言基础分析和数据结构初步了解,我们使用C语言,利用C和数据结构的结合使用,让我们在短时间内建立起对数据结构的进一步认识。
然后,形成正确的对算法和优有个的理解观念。
关键词:C语言的基本了解,数据结构的基本了解, 数据中数组的使用,用C语言实现数据链表题目有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求 1>链数据结构实现上述求解2>数组数据结构实现上述求解3>递归实现上述求解二、基本概念和要点数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系。
数据结构的两大类逻辑结构和四种常用的存储表示方法。
数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,有时一个数据元素可以由若干个数据项组成。
数据项是具有独立含义的最小标识单位。
如整数这个集合中,10这个数就可称是一个数据元素.又比如在一个数据库(关系式数据库)中,一个记录可称为一个数据元素,而这个元素中的某一字段就是一个数据项。
数据结构的定义虽然没有标准,但是它包括以下三方面内容:逻辑结构、存储结构、和对数据的操作。
这一段比较重要,用自己的语言来说就比如一个表 ( 数据库 ),我们就称它为一个数据结构,它由很多记录 ( 数据元素 )组成,每个元素又包括很多字 ( 数据项 )组成。
猴子吃桃子问题完美解决版

现在提出解决问题方法:首先说的是谭老的《C语言程序设计》解决办法有问题至于问题在哪里不说。大家可以用软件仿真一下和你算得结果是否相同
分析:
如果只吃一天应该一共只有1个桃子吃1个
如果只吃2天应该是一共3+1 = 4个桃子吃3个
如果只吃3天应该是一共6 + 1+ 3 = 10个桃子吃6个
intday = 10 ;
intsum = 0 ;//sum表示吃到第几天时的桃子总数
inttmp= 3;//tmp每天吃桃子的个数
while(dLeabharlann y > 0 ) {if(day == 10 ){
sum= 1;
System.out.println("第10天还有一个");
} elseif(day == 9) {
sum=tmp+ sum;
} else {
tmp=tmp*2;
sum= sum +tmp;
System.out.println("第"+day+"天还有桃子"+tmp+"个");
}
day--;
}
System.out.println("因此一共有桃子"+sum + "个");
}
}
结果为1534个桃子
。
。
。
如果只吃n天应该一共要吃1 + 3 + 6 + 12 +24+42+。。。。。。。
也就是除了第一天外其余每天吃桃子的个数都是前天的2倍(大家可以从3,6,12,24,48中看出)
C语言程序设计例子(3):猴子吃桃问题

C语⾔程序设计例⼦(3):猴⼦吃桃问题题⽬:猴⼦吃桃问题:猴⼦第⼀天摘下若⼲个桃⼦,当即吃了⼀半,还不瘾,⼜多吃了⼀个 第⼆天早上⼜将剩下的桃⼦吃掉⼀半,⼜多吃了⼀个。
以后每天早上都吃了前⼀天剩下 的⼀半零⼀个。
到第10天早上想再吃时,见只剩下⼀个桃⼦了。
求第⼀天共摘了多少。
思路分析:采⽤逆向思维,从后往前推断,发现其中有相同的地⽅,即出现递推公式,可以采⽤递归⽅法。
令S10=1,容易看出S9=2(S10+1),简化⼀下S9=2S10+2S8=2S9+2…..Sn=2Sn+1+2下⾯我将解决这个问题。
(第⼀种为普通循环⽅式,第⼆种为递归⽅式)⽅法⼀:while#include<stdio.h>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("the total is %d\n",x1);}⽅法⼆:递归#include<stdio.h>int sumPeach(int day);int main(){int sum;sum=sumPeach(1);printf("%d",sum);}int sumPeach(int day){if(day==10){return1;}elsereturn2*sumPeach(day+1)+2;}。
猴子吃桃问题

软件综合课程设计猴子吃桃问题学生搭配问题二〇一四年六月《猴子吃桃子课程设计》报告一、问题陈述猴子吃桃子问题:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
二、需求分析要求:1.采用数组数据结构实现上述求解;2.采用链数据结构实现上述求解;3.采用递归实现上述求解。
三、概要设计四、详细设计猴子每天都吃当前桃子的一半多一个,假设今天还有n个桃子,则前一天就有(n+1)*2个桃子。
又已知第十天只剩下一个桃子,则可代入以上公式求出第九天的桃子数,以此类推求下去便可得到第一天的桃子数。
1.采用数组数据结构实现上述求解声明一个长度为10的整形数组arr[10],分别存放各天猴子吃前的桃子数。
下图所示arr[0] arr[1]arr[2]arr[3] arr[4]arr[5]arr[6]arr[7] arr[8]arr[9]先将arr[9]赋值为1,用一个循环语句for (int i=9; i>0; i--){ arr[i-1]=2*(arr[i]+1); }为其余各数组元素赋值,则数组元素arr[0]的值便是该问题的解。
2.采用链数据结构实现上述求解 建立单链表,声明一个类用来对链表的结点指针进行定义,在初始化函数中利用头插法创建具有10个元素的链表。
那么N 10便是要求问题的解。
3.采用递归实现上述求解利用一个递归函数来进行求值:依据返回值来记录每一天剩余桃子情况。
int UseRecursion(int n) {int m; if(n==1) m=1; elsem=(UseRecursion(n-1)+1)*2; return m; }五、程序代码1.头文件“MEP.h “ #ifndef MEP_H #define MEP_H#include<iostream> #include<malloc.h> using namespace std; typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList; void UseLinkList();int UseRecursion(int n);int Swicth();void Diaoyong();void UseArray();void Fenxi();void LinkListAnalysis();void RecursionAnalysis();void ArrayAnalysis();static unsigned short arr[10]={0,0,0,0,0,0,0,0,0,1};#endif MEP_H;2.主函数void Diaoyong();void main(){Diaoyong();}3.Diaoyong:调用函数#include"MEP.h"void Diaoyong(){cout<<" --猴子吃桃子问题-- \n\n";cout<<"有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一\n";cout<<"半且再多吃一个,到了第10天就只余下一个桃子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学与计算机学院课程设计说明书课程名称:课程代码: 6015059 题目: 年级/专业/班:学生姓名:学号: 312011********* 开始时间: 2014 年 5 月 14 日完成时间: 2014 年 5 月 28 日课程设计成绩:学习态度及平时成绩(20)技术水平与实际能力(20)完成情况(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(35)总分(100)指导教师签名:年月日目录1 需求分析 (3)2 概要设计 (3)3详细设计 (4)4调试分析 (11)5用户使用说明 (12)6测试结果 (12)7 结论 (14)致谢 (15)参考文献 (15)摘要本课程设计主要解决猴子吃桃子的问题。
一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
在课程设计中,系统开发平台为Windows 2000,程序设计设计语言采用Visual C++,数据库采用MS SQL 2000,程序运行平台为Windows 98/2000/XP。
在整个程序中分别采用数组数据结构、链数据结构、递归等结构形式实现此问题的求解。
程序通过调试运行,初步实现了设计目标。
关键词:程序设计;C++;数组;链;递归;猴子吃桃引言在日常生活中经常遇到一些与数据计算有关的问题,许多与猴子吃桃问题类似的问题要求用计算机程序语言来解决,用这个程序算法可以解决一些类似问题,以便利于生活实际。
1 需求分析1.1任务与分析任务功能:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子要求:采用数组数据结构实现上述求解采用链数据结构实现上述求解采用递归实现上述求解如果采用4种方法者,适当加分分析:这个课程设计分为三个部分,即分别用三种不同的方法解决猴子吃桃子问题。
每个部分都有不同的算法思想。
用数组结构实现的算法,通过构造求桃子数的数组,然后输出要求的项来实现。
用链结构实现的算法,则是建立链表,将每天的桃子数目存入链表,然后输出第一天的桃子数。
用递归结构实现的算法,是通过函数本身的特点,反复调用自身,最后找到递归的出口,求得算法的解。
1.2测试数据输入任意一篇文章,按要求输入功能序号与字符串。
测试是否能按要求输出正确结果。
2 概要设计C是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
如果用数组结构解决这个问题,把猴子吃桃的天数倒过来看的话,以天数作为数组的下标i,剩下桃子的个数a[i]的递推公式为a[i]=(a[i-1]+1)*2。
a[i]实际代表了倒数第i天剩下的桃子数。
所以可以求得此数组的通项公式为a[i]=3*2e(i-1)-2 (i>=2)。
如果用链结构解决这个问题,建立一个链表,根据每天桃子数与后一天桃子数的关系n=2*n+2,依次将每天的桃子数存进链表中,最后输出第一天的桃子数。
如果用递归结构解决这个问题,要求利用他们每天都吃当前桃子的一半且再多吃一个这一特点,设计一个递归算法。
3 详细设计3.1 数组结构把猴子吃桃的天数倒过来看的话,以天数作为数组的下标i,剩下桃子的个数a[i]的递推公式为a[i]=(a[i-1]+1)*2。
a[i]实际代表了倒数第i天剩下的桃子数。
所以可以求得此数组的通项公式为a[i]=3*pow(2,(i-1))-2 (i>=2)。
数组结构算法的流程图如图3-1:开始建立一个以天数为下标以剩下桃子数为元素的数组规定此数组的通向公式求第一天的桃子数结束图3-1int day,tao[11]; //定义数组和下标tao[0]=0; //tao[0]赋值为0tao[1]=1; //倒数第一天的桃子数为1for(day=2;day<=10;day++)tao[day]=3*pow(2,day-1)-2; //给数组的赋值printf("最初的桃子数为%d\n",tao[10]);//输出最初的桃子数3.2链表结构用链结构实现这个算法,其核心是利用链表这种存储结构,将每天的桃子数存储在链表中,在链表中实现数的递推。
首先是建立一个空链表,产生一个头结点,且将头结点的地址赋给L。
然后把每天的桃子数从链表的第一个结点插入链表。
最后第一天的桃子数被最后一个插入链表,成为链表中第一个值,将其赋给e,最后只要输出e即得到第一天的桃子数。
建立单链表的程序代码如下:void InitList(LinkList &L)//构造一个空链链表{L=(LinkList)malloc(sizeof(LNode));//产生头结点,并使L指向此头结点if(!L) exit(OVERFLOW);L->next=NULL;}这个算法中,我运用了单链表,单链表每个结点由数据和指向后驱结点指针两部分构成。
在插入数据时,将插入的位置的前一项的原有后去指针赋给此结点的后去指针,然后把插入结点的data地址赋给前一结点的后驱指针,插入就完成了。
插入结点的程序代码如下:Status ListInsert(LinkList L,int i,ElemType e)//在第i个位置之前插入元素e{int j=0;//计数器初值为0LinkList s,p=L;//p指向头结点while(p&&j<i-1)//寻找第i个结点{j++;p=p->next;}3.3递归设计递归算法,利用x=2*x+2,定义一个函数sum_fan,然后不断调用自身,求得第一天的桃子数。
递归算法的流程图如图3-3开始定义参数i和ni>0Y N调用本身,且--i输出sum开始主要程序代码如下:int sum_fan(int n,int i) //子函数sum_fun,参数n和i接受主函数的参数x和day {if (i>0){n = sum_fan((n+1)*2,--i); //每一次都用((n+1)*2)的值去调用子函数本身}return n; //返回结果)程序完整代码// zhanghang123.cpp: 主项目文件。
#include "stdafx.h"# include<stdio.h># include<math.h>#include<string.h>#include"iostream"#include"stdlib.h"using namespace System;// ConsoleApplication1.cpp: 主项目文件。
void method1() //数组实现{int day, tao[11]; //定义数组和下标tao[0] = 0; //tao[0]赋值为0tao[1] = 1; //倒数第一天的桃子数为1for (day = 2; day <= 10; day++)tao[day] = 3 * pow(2.0, day - 1) - 2; //给数组的赋值printf("最初的桃子数为%d\n", tao[10]);//输出最初的桃子数getchar();}int sum_fan(int n, int i) //子函数sum_fun,参数n和i接受主函数的参数x和day {if (i>0){n = sum_fan((n + 1) * 2, --i); //每一次都用((n+1)*2)的值去调用子函数本身}return n; //返回结果}void method3()//递归{int sum;int day = 9; //实现函数调用的次数int x = 1; //最后一天还剩得一个桃子sum = sum_fan(x, day); //调用子函数sum_fan,并把返回得结果赋给sumprintf("%d", sum);getchar();}#define TRUE 1#define FALSE 0#define ERROR 0#define OVERFLOW 0#define OK 1#define NULL 0typedef int Status;typedef int ElemType;struct LNode{ElemType data;LNode *next;};typedef LNode *LinkList;void InitList(LinkList &L)//构造一个空链链表{L = (LinkList)malloc(sizeof(LNode));//申请内存,产生头结点,并使L指向此头结点if (!L) exit(OVERFLOW);//判断是否申请成功L->next = NULL;// next指针置空}Status GetElem(LinkList L, int i, ElemType &e)//当第i个元素存在的时,将其值赋给e {int j = 1;//计数器初值为0LinkList p = L->next;//p指向第一个结点while (p&&j<i)//顺指针向后查找,直到找到p指向第i个结点{j++;p = p->next;}if (!p || j>i)return ERROR;e = p->data;return OK;}Status ListInsert(LinkList L, int i, ElemType e)//在第i个位置之前插入元素e{int j = 0;//计数器初值为0LinkList s, p = L;//p指向头结点while (p&&j<i - 1)//寻找第i个结点{j++;p = p->next;}if (!p || j>i - 1) return 0;//当第i节点不存在时s = (LinkList)malloc(sizeof(LNode));//生成新的结点s->data = e;s->next = p->next;//新结点指向原第i个结点p->next = s;//原第i-1个结点指向新结点return 1;}void method2(){LinkList L;int i, e, n;InitList(L);//初始化链表for (i = 1, n = 1; i <10; i++){n = 2 * n + 2;//将每一天的桃子数赋值给nListInsert(L, 1, n);//将n的值输入链表}GetElem(L,1, e);printf("%d", e);//输出桃子的数目getchar();}int main(array<System::String ^> ^args){L:system("cls");puts("选择需要的方法来求解:请输入数字选项:");puts("*****************************");puts("1.数组求解法;");puts("2.链表求解法;");puts("3.递归求解法;");puts("*****************************");char a= getchar();if(a=='1'){method1();puts("\n请按任意键返回:");getchar();goto L;}else if (a=='2'){method2();puts("\n请按任意键返回:");getchar();goto L;}else if (a=='3'){ method3();puts("\n请按任意键返回:");getchar();goto L;}elseputs("请输入合法的选项;");goto L;return 0;}4 调试分析运行环境在本课程设计中,系统开发平台为Windows2000,程序设计语言为VisualC++6.0,程序的运行环境为Visual C++ 6.0。