用C语言代码解答问题:一个球从100米高度自由下落,每次落地后反弹回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
时间: 2023-11-20 08:17:43 浏览: 71
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include <stdio.h>
int main() {
float height = 100; // 初始高度
float distance = 0; // 初始距离为 0
float bounceHeight = height; // 初始反弹高度为初始高度
int i;
for (i = 1; i <= 10; i++) {
distance += height + bounceHeight; // 每次落地时,距离增加本次下落和反弹的距离
height /= 2; // 每次反弹,高度减半
bounceHeight = height; // 反弹高度也减半
}
printf("第10次落地时,共经过 %.2f 米\n", distance);
printf("第10次反弹 %.2f 米高\n", bounceHeight);
return 0;
}
阅读全文