cok资源区:关于C语言编程 。急!!!!1

来源:百度文库 编辑:高考问答 时间:2024/05/01 22:09:58
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半。还不过瘾。又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下一个桃子了。求第一天共摘多少桃子。

怎 样编程??

main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
getch();
}

这种题目在书本自带的盘里面的趣味编程都有啊

这种可以使用递归函数
该函数的作用是处理加了一个再加一倍的功能。函数的终止条件是由第10天反推到第一天
伪代码:
eatCount(count,day)
{
if(day<>1) //如果还未反推到第一天
{
day=day-1; //反推到前一天
eatCount((count+1)*2,day); //前一天是多一个之后再多一倍
}
else //如果已经是第一天了,返回最后结果
{
return count;
}

}

用for简单点
main()
{
int i,n;
n=1;
for(i=1;i<=9;i++)
n=(n+1)*2;
printf("%d",n);
}

用while
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}

谭浩强那本书上有例题啊

每个人做的方法都是一样的,写那么多干什么?