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 }

 

posted @ 2015-02-17 20:07  Memoryヾノ战心  阅读(1318)  评论(0编辑  收藏  举报