题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
题目分析:
第一次落地路程 s=100
第一次反弹高度 h=s/2=50
第二次落地路程 s=s+2*h
第二次弹起高度 h=h/2
第三次落地路程 s=s+2*h
第三次弹起高度h=h/2
......
写出几步,就非常清晰了
代码:
#include <stdio.h>
int main()
{
float s=100;
float h=s/2; //第一次
int i;
for(i=0;i<9;i++){ //循环9次
s=s+2*h;
h=h/2;
}
printf("第10次落地时,共经过%f米,第10次反弹高%f米\n",s,h);
return 0;
}
第10次落地时,共经过299.609375米,第10次反弹高0.097656米
--------------------------------
Process exited after 0.3605 seconds with return value 0
请按任意键继续. . .