一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第 10 次反弹多高?
利用循环不断求高度的一半并相加即可。
#include <stdio.h>
int main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn; //第 n 次落地时共经过的米数
hn=hn/2; //第 n 次反跳高度
}
printf("共经过 %.2f 米\n",sn);
printf("地十次反弹高 %.2f 米\n",hn);
}