感觉这题自己写的很菜,最开始在for循环里,对a的赋值给谁谁在那里纠缠不清,说来真是惭愧。
蒜头君让一个球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第 1010 次落地时,共经过多少米?第 1010 次反弹多高?
输入格式
输入一个整数 h\ (1\le h \le 100)h (1≤h≤100),表示球的初始高度。
输出格式
输出包含两行:
第 11 行:到球第 1010 次落地时,一共经过的米数。
第 22 行:第 1010 次弹跳的高度。
注意:结果可能是实数,结果用double
类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER
,或者printf("%g", ANSWER)
即可。
输出时每行末尾的多余空格,不影响答案正确性
样例输入复制
18
样例输出复制
53.9297 0.0175781
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b;
cin>>a;
int i;
b=a/2.0;
for(i=1;i<10;i++)
{
a+=b*2;
b=b/2.0;
}
cout<<a<<endl;
cout<<b;
return 0;
}