C/C++的自由落体运动
目录
1. 前言
2. 正文
2.1 问题
2.2 解决办法
2.2.1 思路
2.2.2 代码实现
2.2.3 测试结果
3. 备注
1. 前言
这个题目非常有意思,可以活跃自己的思维,毕竟代码来源于生活,又返回给生活。
2. 正文
2.1 问题
题目描述:
一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹.求它在第N次落地时共经过多少米?
输入格式:
反弹的次数N
输出格式:
小球经过的路程(保留四位小数)
样例输入:
2
样例输出:
200.0000
2.2 解决办法
2.2.1 思路
这个题目就是简单的循环,不过要注意初始值,以及c++的保留小数的方法,这个我在前面的文章也讲过了,不过在下面的代码里也复现了。大家可以自行观看和查阅。
看完题目之后,大家还是可以现场是写一下,必经过程和思路都是最重要的。
2.2.2 代码实现
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int get_data(int a)
{
if (a == 1)
return 10;
else
return get_data(a - 1) + 2;
}
int main()
{
int data_in;
float distance = 100.00, get_result = -100.00;
cin >> data_in;
for (int i = 0; i < data_in; i++)
{
get_result += distance * 2;
distance /= 2;
}
cout << fixed << setprecision(4) << get_result << endl;
return 0;
}
2.2.3 测试结果
测试结果完美
大家可以直接在这个线上的编译环境执行
码曰 - 让代码在云端多飞一会 (dotcpp.com)
3. 备注
>>>>>>
总觉得人生没有程序自由,在程序里至少是自由的,这种自由让人向往。
>>>>>>
不幸可能成为通向幸福的桥梁。——日本谚语
>>>>>>
制作不易,且行且珍惜,点个关注支持下吧。