题目描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
最后的误差判断是小数点6位。
输入描述:
输入起始高度,int型
输出描述:
分别输出第5次落地时,共经过多少米第5次反弹多高
示例1
输入
1
输出
2.875
0.03125
C语言代码如下:
#include<stdio.h>
int main(){
int tmp;
float tmp1,s,t,y=0;
scanf("%d",&tmp);
t=(float)tmp;
tmp1=t;
for(int i = 1; i<=5;i++){
y+=tmp1;
tmp1=tmp1*0.5;
y+=tmp1;
}
y=y-tmp1;
printf("%.3lf\n%.5lf",y,tmp1);
return 0;
}
知识点:对最后输出结果的控制利用printf("%.3lf\n%.5lf",y,tmp1);
以及对数据类型的掌握(int,float,double,char……)。
注:本题来自牛客网-华为机试。