C语言 自由落体Description一球从M米高度自由下落,每次落地后返回原高度的一半,再落下.它在第N次落地时反弹多高?共经过多少米?保留两位小数InputM NOutput它在第N次落地时反弹多高?共经过多少

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 21:52:30

C语言 自由落体Description一球从M米高度自由下落,每次落地后返回原高度的一半,再落下.它在第N次落地时反弹多高?共经过多少米?保留两位小数InputM NOutput它在第N次落地时反弹多高?共经过多少
C语言 自由落体
Description
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下.它在第N次落地时反弹多高?共经过多少米?保留两位小数
Input
M N
Output
它在第N次落地时反弹多高?共经过多少米?保留两位小数,空格隔开,放在一行
Sample Input
1000 5
Sample Output
31.25 2875.00
我的代码
#include
#include
int main()
{
\x05float m,n,i,y=0;
\x05scanf("%f%f",&m,&n);
\x05for(i=0;i

C语言 自由落体Description一球从M米高度自由下落,每次落地后返回原高度的一半,再落下.它在第N次落地时反弹多高?共经过多少米?保留两位小数InputM NOutput它在第N次落地时反弹多高?共经过多少
m = m/2; y = y+m*3;
表明的是 一次弹起到最高点的时候经过的路程,问题是什么?楼主可以看看 是第N次落地时候反弹多高,共经过多少米,楼主的计算公式比它多了个最后弹起的高度 ,应该减去最后一次弹起的高度!
举个例子 1000米的时候 弹起一次反弹多高呢 显然是500 经过的路程呢 1000 按照楼主的计算公式就是1500米,多在了最高多计算了一次 减去就行了!改程序的循环部分 我还没没有想好 ,不过按下面这样改
#include
#include
int main()
{
\x09float m,n,i,y=0;
\x09scanf("%f%f",&m,&n);
\x09for(i=0;i