一個球從100m高度自由落下,每次落地后反彈回原高度的一半,再落下,再反彈。求它在第10次落地時共經過多少米,第10次反彈多高。
答案解析:
該題目需要循環10次,在每一循環的時候,需要將下落的高度和回彈的高度加起來。需要注意的點,第10次下落不需要在計算回彈的距離了,所以需要特殊處理下。在計算每次高度的時候,會有小數存在,所以需要選用浮點數
代碼示例:
#include <stdio.h>
int main()
{
//總高度
double total_m = 100.0;
//小球經歷的米數
double total_sum = 0.0;
for (int i = 0; i < 10; i++)
{
total_sum += total_m;
total_m /= 2;
total_sum += total_m;
}
//不需要計算第10次的反彈高度,所以減去
total_sum -= total_m;
printf("小球總共經歷%lf米, 第10次反彈%lf米\n", total_sum, total_m);
return 0;
}