一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?编写C语言代码
时间: 2023-09-23 10:03:32 浏览: 94
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
该题是一个典型的反弹问题,可以用循环来解决。
C语言代码如下:
```
#include <stdio.h>
int main()
{
int n = 10; // 第10次落地
float height = 100; // 初始高度
float total = 100; // 总共经过的距离,初始为100米
float bounce = height / 2; // 第10次反弹高度
for (int i = 1; i < n; i++) {
height = height / 2; // 计算当前高度
total += 2 * height; // 累加当前高度经过的距离
}
bounce = height / 2; // 计算第10次反弹高度
printf("第10次落地时,共经过%.2f米\n", total);
printf("第10次反弹高度为%.2f米\n", bounce);
return 0;
}
```
输出结果为:
```
第10次落地时,共经过299.61米
第10次反弹高度为0.98米
```
阅读全文