一個球從100m高度自由落下,每次落地后反彈回原高度的一半,再落下,再反彈。求它在第10次落地時共經過多少米,第10次反彈多高


一個球從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;
}

運行截圖:

一個球從100m高度自由落下,每次落地后反彈回原高度的一半,再落下,再反彈。求它在第10次落地時共經過多少米,第10次反彈多高


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM