要求:一个球从100m高度自由落下,每次落下后反弹回原来高度的一半,在落下。求它第n次落地时,共进过多少米?第n次反弹高度能达到多少米?
#include<iostream>
using namespace std;
int main()
{
double h = 100;
double sum=0;
int num;
cout << "小球落地次数:";
cin >> num;
for (int i = 0; i < num; i++)
{
sum += h; //加落下过程距离
h = h / 2;
sum += h; //加反弹过程距离
}
sum -= h; //最后一次落地距离不算反弹距离,将此次距离剔去
cout << "第" << num << "次小球落地,小球能反弹的高度为:" << h << " 此次落地时小球全程经过的路程为:" << sum << endl;
system("pause");
return 0;
}
运行结果: