目录
描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
数据范围:输入的小球初始高度满足1≤n≤1000 ,且保证是一个整数
输入描述:
输入起始高度,int型
输出描述:
分别输出第5次落地时,共经过多少米以及第5次反弹多高。
注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。

解题过程
学习代码
代码一
(作者:https://www.nowcoder.com/users/926021369)
#include <stdio.h>
int main()
{
int h, i;
float l;
scanf("%d", &h);
l = h;
for(i = 0; i < 4; i++)
l /= 2;
printf("%.6f\r\n%.6f", (h - l) * 2 + h, l / 2);
//第一个输出的意思是2h表示来回,2l表示没经过的高度(在上面)
}
代码二
(作者:https://www.nowcoder.com/users/567442207)
#include <stdio.h>
int main()
{
int i, h;
double tmp;
double sum = 0;
scanf("%d", &h);
tmp = h;
sum = h;
for (i = 1; i < 5; i++) {
tmp = tmp / 2;
sum += 2 * tmp;
}
printf("%lf\n", sum);
printf("%lf\n", tmp / 2);
return 0;
}
这篇博客探讨了一个小球从任意高度自由落下并每次反弹回原高度一半的问题。通过输入起始高度,代码展示了如何计算小球在第5次落地时总共经过的距离以及第5次反弹的高度。解题过程包括了两个不同的C语言代码实现,它们都通过循环计算了小球的运动轨迹。

933

被折叠的 条评论
为什么被折叠?



