一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹,求它在第十次落地时共经过多少米?第十次反弹多高?

第十次落地时共经过=100+2*(100/2+100/4+100/8.......100/512)

第十次反弹=100/1024

根据题意可以知道,第十次落地一共经历了九次反弹;所以我们将第一次落地剥离到循坏外面,并直接赋值给变量s。之后的九次循环中首先让高度h减半,然后再代入到该次的路程计算中。

#include 
int main()
{
	double x,h,s,i;
	h=100;s=100;
	for(i=1;i<=9;i++)
	{
		h=h/2;s+=2*h;
	}
	printf("第十次落地时经过的路程:%lf\n",s);
	printf("第十次反弹的高度:%lf",h/2);
}

你可能感兴趣的:(蓝桥杯,c语言,职场和发展)