//猴子吃桃子问题。有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第天就只余下一个桃子。
//用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:)采用数组数据结构实现上述求解;)采用链式数据结构实现上述求解;
//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);
return a[9];
}
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;
}
re
C语言 猴子吃桃 来自淘豆网m.daumloan.com转载请标明出处.