每日一题50

第五十题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?在这里插入图片描述

#include <stdio.h>
void main()
{
double i,s=0,x=100,y; //x用于表示落下的高度,第一次为100;s用于保存球一共走过的路径,y用来记录每次落下后弹起的高度
for(i=1;i<=10;i++) //题目要求求第10次,所以循环10次
{
y=x/2; // 第一次y弹起x的一半,即50
s=s+x+y; // s为第一次球走过的总路径,即落下高度x+弹起高度y+之前球走过的总路径s
x=y; // y是第一次的弹起高度,也即第二次的落下高度,所以赋值给x,便可以进行第二次的计算
}
s=s-y; //这里是因为循环体内无条件会加上一个弹起高度y,第十次的弹起高度y需要减去,因为题目要求是求第十次落地的总路程
printf(“共经过:%lf米\n”,s);
printf(“第十次反弹:%lf米\n”,y);
}

猜你喜欢

转载自blog.csdn.net/drake_gagaga/article/details/113961047