本文目录一览:
C语言 猴子吃桃
你好!!!
其实这是个递归问题!!!
思路分析如下:
某一天吃的是前一天的一半还多一个,假设今天剩下为x1,昨天共有x2个桃子,它们的关系是:x1=x2/2-1,即x2=(x1+1)*2,那么既然已经知道今天剩下的桃子,那么就可以知道,昨天的,要是知道昨天的,那么前天的就知道了,要是知道前天的,那么大前天的也就知道了、、、、、、到最后一定知道第一天的陶子总数。
现在我们来分析你的代码:
从代码可以知道,第九天只剩下一个桃子了,也就的循环九次,故代码为:
while(day0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
不懂的我们在交流!!!
C语言问题
我还有前四题
(1) 基础部分(以下8题,任选5题—60%,多做酌情加分)
①分屏处理数据系统:
随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一屏的下方显示本屏中数据的最大值、最小值和平均值。
提示:循环显示,在分屏点上输出press any key to continue…,通过getch()函数让用户以按回车键的方式进入下一屏。
②掷骰子游戏:
两人玩骰子,游戏规则如下:
1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。
2) 将每人每次的分值累加计分
3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。
4) 结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。最后显示双方分数并判定优胜者。
③射击游戏:
在程序运行时屏幕上方第一行随机出现一个 符号,要求游戏者输入一个1-200之间的整数,当用户输入一个整数后,一个*立即从屏幕底端的该整数列向上移动,若移动到屏幕的顶端能撞上 符号,则游戏者获胜;若没有撞上,则要求再输入一个整数,共允许输入5次,如果一直没有撞上,则认为游戏者输。
提示:
1)输入 符号可以采用printf("%c",'\1')
2)显示*号向上移动:输出一些空行;输出*号;以循环的方式增加延时(for(i=0;i100000;i++););clrscr()清屏重新绘制*号。
④车票问题:
假设某线路的公共汽车共设置26个车站,准备了1元、2元…6元的车票,收费标准为:6站以内票价为1元,每4站票价增加1元。现在随机生成一些乘客的上车站与下车站,显示每位乘客应付的票价和单程售出的总票价,并统计几元的车票卖得最多。
用C语言编程求出猴子头天摘了多少果子
#include stdio.h
void main ()
{
int i=1,j;
for(j=0;j10;j++)
{
i=(i+1)*2;
}
printf("猴子摘的果子数为:%d\n",i);
}
多读书,多做题自然就会了。
C语言的猴子吃桃代码怎么写?
#include stdio.h
main()
{
int day,x1,x2;
day=9; //这里假设n=9,你总要给一个n的,不然没有办法计算
x2=1; //第九天早上还有1个桃
while(day0)
{
x1=(x2+1)*2; //第8天吃了第7天剩下的一半多一个
//那第八天剩下的再加上1就是第8天原来的一半
//然后再乘以2既第八天原来的(也就是第7天剩的)
x2=x1; //让x2是第八天的桃的数量
//下一轮循环计算第七天原来有多少桃
day--;
}
printf("the total is %d\n",x1);
}
C语言猴子吃桃,递归,return 1
getPeachNumber(x)表示第x天剩下桃子的数目
根据你的递归程序,到第十天只剩一个,所以getPeachNumber(10)=1
这个getPeachNumber(10)是反馈给getPeachNumber(9)的
因为getPeachNumber(9)=(getPeachNumber(10)+1)*2
这样你知道第十天剩1个,就返回去算出第九天
算出第九天又能算出第八天
以此类推最后得到第一天
c语言编程题目关于卖水果
#include "stdio.h"
int main()
{
int i,sum[8];
sum[7] =5;//第八天的水果数,数组从0开始计数,所以是sum[7]
for(i = 7;i0;i--)//从第八天向前算
{
sum[i-1] = (sum[i]+2)*3;//通过公式x-(2/3x+2)=5推导而来
}
printf("%d",sum[0]);//总的水果数
return 0;
}
有什么疑问请追问