C语言 一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米,第10次反弹多高。
时间: 2023-11-20 12:55:22 浏览: 233
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
float height = 100; // 初始高度为100米
float distance = 100; // 初始距离为100米
for (int i = 2; i <= 10; i++) {
height /= 2; // 每次反弹高度减半
distance += height * 2; // 每次落地后再弹起来,所以要乘以2
}
printf("第10次落地时,共经过%f米\n", distance);
printf("第10次反弹%f米高\n", height);
return 0;
}
```
输出结果为:
```
第10次落地时,共经过299.609375米
第10次反弹0.097656米高
```
阅读全文