Openjudge-计算概论(A)-球弹跳高度的计算
描述:
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。
编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?
输入输入一个整数h,表示球的初始高度。输出输出包含两行:
第1行:到球第10次落地时,一共经过的米数。
第2行:第10次弹跳的高度。
注意:结果可能是实数,结果用double类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可。样例输入
20
样例输出
59.9219 0.0195313
来源计算概论2007, XieDi
思路:循环10次,每次分半,加到计数器里面,记得最后还要再分一次半。
记得题目中提示说了,要用%g来输出,因为不知道算出来的是什么类型的,所以用这个%g。
代码如下:
1 #include<stdio.h> 2 int main() 3 { 4 int i; 5 double b,daan; 6 scanf("%lf",&b); 7 daan=b; 8 for(i=1;i<10;i++) 9 { 10 daan=daan+b; 11 b=b/2; 12 } 13 b=b/2; 14 printf("%g\n%g\n",daan,b); 15 return 0; 16 }
我不怕千万人阻挡,只怕自己投降…