黑马程序员技术交流社区

标题: 求解:一道C语言问题 [打印本页]

作者: qiusiyu    时间: 2014-9-17 16:48
标题: 求解:一道C语言问题
猴子吃桃子问题{:3_54:}

  有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:

1)采用链数据结构实现上述求解
2)采用递归实现上述求解

希望各位猴哥踊跃顶贴,掀起一股偷桃的热浪{:3_67:}


作者: yinzhenyu    时间: 2014-9-17 18:08
链结构
#include"iostream"
#include"stdlib.h"
#include"stdio.h
"#define TRUE1
#define FALSE0
#define ERROR0
#define OVERFLOW0
#define OK 1
#define NULL 0
typedefintStatus;
typedefintElemType;
structLNode{
ElemTypedata;
LNode*next;};
typedefLNode*LinkList;
voidInitList(LinkList&L)//构造一个空链链表{
L=(LinkList)malloc(sizeof(LNode));//产生头结点,并使L指向此头结点
if(!L)
exit(OVERFLOW);
L->next=NULL;}
StatusGetElem(LinkListL,inti,ElemType&e)//当第i个元素存在的时,将其值赋给e
while(p&&j<i)//顺指针向后查找,直到找到p指向第i个结点
{j++;p=p->next;}
if(!p||j>i)
returnERROR;
e=p->data;
returnOK;}
StatusListInsert(LinkListL,inti,ElemTypee)//在第i个位置之前插入元素e
{
intj=0;//计数器初值为0
LinkLists,p=L;//p指向头结点
while(p&&j<i-1)//寻找第i个结点
{j++;
p=p->next;
}
if(!p||j>i-1)return0;
s=(LinkList)malloc(sizeof(LNode));//生成新的结点
s->data=e;
s->next=p->next;//新结点指向原第i个结点
p->next=s;//原第i-1个结点指向新结点
return1;}
voidmain()
InitList(L);//初始化链表for(i=1,n=1;i<=10;i++)
{
n=2*n+2;//将每一天的桃子数赋值给nListInsert(L,1,n);//将n的值输入链表}
StatusGetElem(L,1,e);
printf("%d",e);//输出桃子的数目}


递归结构
include<stdio.h>
intsum_fan(intn,inti)//子函数sum_fun,参数n和i接受主函数的参数和day
{
if(i>0){
n=sum_fan((n+1)*2,--i);//每一次都用((n+1)*2)的值去调用子函数本身
}
returnn;//返回结果
}
voidmain(){
intsum;intday=9;//实现函数调用的次数
intx=1;
//最后一天还剩得一个桃子
sum=sum_fan(x,day);//调用子函数sum_fan,并把返回得结果赋给sum
printf("%d",sum);}
作者: kingloveyy    时间: 2014-9-17 18:44
yinzhenyu 发表于 2014-9-17 18:08
链结构
#include"iostream"
#include"stdlib.h"

注释写的好详细~~赞一个
作者: qiusiyu    时间: 2014-9-17 19:10
链结构这么复杂?

有简单点的版本吗?
作者: 秋水红林    时间: 2014-9-17 20:44
看不懂啊,还没学到这,还真是看不懂
作者: 七年级生    时间: 2014-9-18 15:07
这个链结构基础视频里好像没有啊    是在升级视频里的么?看不懂     递归看的懂了  昨天我试了试没写出来  受教了   哈哈
作者: 努力微笑    时间: 2014-9-18 16:14
用到的数据结构里的东西。、、
作者: longshaocn    时间: 2014-9-18 20:23
递归的简单!
作者: ★彬★卍囧神    时间: 2014-9-18 20:49
C语言书上的一道题好像
作者: qiusiyu    时间: 2014-9-18 22:09
★彬★卍囧神 发表于 2014-9-18 20:49
C语言书上的一道题好像

是滴,书上的一道题,咱们的视频里没有。

版主已经考进第三期了吗?{:3_51:}
作者: qiusiyu    时间: 2014-9-18 22:11
努力微笑 发表于 2014-9-18 16:14
用到的数据结构里的东西。、、

是的,大神能做不?{:3_67:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2