C语言 猴子吃桃[方案]
//猴子吃桃子问题。有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第天就
只余下一个桃子。
//用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:)采用数组数据结构实现上述求解;)采用
链式数据结构实现上述求解; //3)采用递归实现上述求解。 #include
#include
typedef struct node//节点 存储桃子数量天数以及指向下一个节点的指针
{
int data;
int day;
struct node *link; }node;
int peach1() //利用数组求解 {
int a[10],i;
a[0]=1;
for(i=1;i<10;i++)
a[i]=2*(a[i-1]+1);
a[9]; return
}
int peach2()//利用链式数据结构求解 {
node *p,*head,*q;
int i=0;
head=(node *)malloc(sizeof(node));//建立头结点
head->data=1;
head->day=1;
head->link =NULL;
q=head;
while((q->day)<10)
{
p=(node *)malloc(sizeof(node));//建立节点并给节点赋值
p->data=2*((q->data)+1);
p->day=q->day+1;
p->link=q->link; //建立链表
q->link=p;
q=q->link;
}
return(p->data);
}
int peach3(int i)//利用递归思想求解 {
if(i==1) return 1;
else
return ( 2*(peach3(i-1)+1) );
}
void main()
{
int a[3];
a[0]=peach1();
a[1]=peach2();
a[2]=peach3(10);
printf("猴子共摘%d个桃子(利用数组求解)\n",a[0]);
printf("猴子共摘%d个桃子(利用数组求解)\n",a[1]);
printf("猴子共摘%d个桃子(利用递归求解)\n",a[2]);
本文档为【C语言 猴子吃桃[方案]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。