问题标题: 酷町堂 1010 弹球高度怎么写

4
1

-3
已采纳
翟谦瑞
翟谦瑞
新手守护
新手守护

1010:

输入描述 Input Description

输入一个整数h,表示球的初始高度。

输出描述 Output Description

输出包含两行,均保留四位小数(四舍五入)。
第1行:到球第8次落地时,一共经过的米数。
第2行:第8次弹跳的高度。

样例输入 Sample Input


 

20

样例输出 Sample Output


 

59.6875
0.0781

首先定义三个浮点型变量,

float s,h,x;
    cin>>h;
    s=h;

用for循环写下:

for(int i=1;i<=7;i++)
    {
        s=s+2*h/(pow(2,i));
    }

用printf保留小数,四舍五入

翟谦瑞在2018-01-11 16:17:21追加了内容

别忘加cstdio欧!

1
戴钰峰
戴钰峰
初级守护
初级守护

 不要忘了循环:

 for(int i=1;i<=8;i++)
和四舍五入:

sum=int((sum*10000+0.5))/10000.0;
   a=int((a*10000+0.5))/10000.0;
 

1
夏卓然
夏卓然
初级守护
初级守护

注意头文件#include <cstdio>

以及定义浮点数用double类型

别忘了四舍五入(int)(a*100+0.5)/100.0

夏卓然在2018-01-11 16:36:55追加了内容

1
许俊轩
许俊轩
修练者
修练者

要用:

<cstdio>;

double;

四舍五入。

1
张非艾
张非艾
修练者
修练者


#include<cstdio>
 

 

double h,sum=0;
   
这是重点

0
贺晓雨
贺晓雨
资深守护
资深守护
for (i=2;i<=8;i++)
{
a=a/2.0;
d=a+d*2;
}

 

a,d均为double型,a为累加,计算每次落地后反跳回原来高度的一半,也就是到球第8次落地时,一共经过的米数

n为第8次弹跳的高度。

0
0
0
-2
栾峻岩
栾峻岩
初级天翼
初级天翼

  定义一个变量为m为20,定义一个double类型的变量为sum,用for循环从2到8m不停地除以2,然后sum+=h*2;

栾峻岩在2018-01-11 16:15:23追加了内容

最后别忘了头文件#include<cstdio>.

还要四舍五入输出。

我要回答