问题标题: http://judge.codingtang.com/problem/1010/

-1
0

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

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

n为第8次弹跳的高度。

0
贺晓雨
贺晓雨
资深守护
资深守护

打错了,a,d均为double型,a为累加

0
戴钰峰
戴钰峰
初级守护
初级守护

for(int i=1;i<=8;i++) { sum=sum+a+a/2; a=a/2; } sum=sum-a; 不要忘了cstdio,四舍五入,小数输出

0
0
翟谦瑞
翟谦瑞
新手守护
新手守护

输入描述 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保留小数,四舍五入.

别忘加cstdio欧!

我要回答