描述
一球从某一高度h落下(单位米,n≤1,000,000),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?
输出包含两行,第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。
输出结果保留小数点后4位。
格式
输入格式
输入一个正数h,表示球的初始高度。
输出格式
第1行:到球第10次落地时,一共经过的米数。 第2行:第10次弹跳的高度。
样例
输入样例
20
输出样例
59.9219 0.0195
#include <stdio.h>
//小球落地十次,第一次落地只有下落,后九次有往返
int main()
{
int h,i;
double sum=0,H;//一定要初始化sum,不然会随机给sum赋值
scanf("%d",&h);
H=h;
sum+=H;//故先将第一次落地的高h加上
for(i=1;i<10;i++)//可以更改i的值,但要保证循环九次
{
sum+=H;//往返一次的总路程其实等于上一次的高度
H=H/2;
}
H=H/2;//第十次弹跳还要另除2
printf("%.4lf %.4lf",sum,H);
return 0;
}