C语言实现 球体下落路程及反弹高度求解

时间:2022-03-24 13:09:36

例如:

一个球从100米高的*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第10次反弹多高?

这样高度要定义为浮点型变量,值得注意的是最开始下落的100米,只能计算一次,要么不进入循环最后+100就行了,要么进入循环计算,最后-100米。


#include<stdio.h>
int main()
{
	float high = 100.0;
	float hi = high/2;
	float sum = 0;
	int i;
	for(i = 2;i <= 10;i++)
	{
		sum = sum + 2*hi;      //下落后还有反弹路程 要*2
		hi = hi/2;
		
	}
	sum = sum + 100;
	printf("共经过%f米\n第十次反弹%f米\n",sum,hi);
	return 0;
}