一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米?
第5次和第10次反弹分别是多高?要求计算结果保留到小数点后3位。用户从键盘输入想要计算的第n次(n<=15)。程序中所有浮点数的数据类型均为float。
#include<stdio.h>
int main()
{
int n = 0;
float length = 0;
float height = 0;
printf("Input:\n");
scanf("%d",&n);
for (int i = 0; i < n; i++)
{
if (i == 0)
{
length = 100;
height = 100;
}
else
{
height /= 2;
length += 2*height;
}
}
printf("%d times:\n",n);
printf("%.3f\n",length);
printf("%.3f\n",height/2);
return 0;
}