//因为我比较笨,所以用的就是笨的办法,一步一步来算的
#include <stdio.h>
int main()
{
double i,s=0,x=100,y; //x用于表示落下的高度,第一次为100;s用于保存球一共走过的路径,
//初值为0;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);
return 0;
}
(C语言)一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。
最新推荐文章于 2023-03-15 20:53:37 发布