编程语言
首页 > 编程语言> > C/C++编程学习 - 第6周 ⑤ 球弹跳高度的计算

C/C++编程学习 - 第6周 ⑤ 球弹跳高度的计算

作者:互联网

题目链接

题目描述

蒜头君让一个球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第 10 次落地时,共经过多少米?第 10 次反弹多高?

输入格式
输入一个整数 h (1≤h≤100),表示球的初始高度。

输出格式
输出包含两行:

第 1 行:到球第 10 次落地时,一共经过的米数。

第 2 行:第 10 次弹跳的高度。

注意:结果可能是实数,结果用double类型保存。

提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可。

Sample Input

18

Sample Output

53.9297
0.0175781

思路

反弹高度是下落高度的一半,因此反弹高度可以由下落高度求出;一共经过的路程可以累加得到。

C++代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double h;
	while(cin >> h)
	{
		double sum = h;
		int n = 9;
		while(n--)
		{
			sum += h;
			h /= 2;
		}
		cout << sum << endl << h / 2.0 << endl;
	}
	return 0;
}

标签:10,cout,int,double,编程,高度,C++,Sample,弹跳
来源: https://blog.csdn.net/qq_44826711/article/details/112911922