问题描述:
一个球从100米的高度自由落下,每次落地后弹起原来高度的一半。计算并输出第n次落地时,共经过了多少米,第n次弹起的高度是多少?结果显示3位小数。
分析:
1、先第n次落地,再第n次弹起。
2、注意浮点数。
#include <stdio.h>
int main()
{
int n, i;
float pass, high;
scanf("%d", &n);
high=100.0/2; //第1次弹起高度
pass=100.0; //第1次落地经过的米数
for(i=2; i<=n; i++)
{
pass += high*2; //一次弹起到落地经过弹起的两倍
high /= 2;
}
printf("%.3f %.3f", pass, high);
return 0;
}