酷代码 AI
菜单
服务商

一球从100米高度自由下落,每次落地后反跳会原来高度的一半,再落下,求他在第10次落地时,共经过多少米?第10次反弹多高? 输入 没有输入 输出 输出一行两个数,一个是第10次落地时,共经过多少米,另外一个是第10次反弹多高。两个数之间用空格分开。 以C++的形式回答

```cpp #include <iostream> using namespace std; int main() { double height = 100; double totalDistance = 100; for (int i = 1; i < 10; i++) { height /= 2; totalDistance += 2 * height; } height /= 2; cout << totalDistance << " " << height << endl; return 0; } ``` 代码解释 1. 变量初始化: - `height` 初始化为 100,表示球的初始高度。 - `totalDistance` 初始化为 100,因为第一次下落的距离是 100 米。 2. 循环计算: - 使用 `for` 循环,循环 9 次(从第 1 次到第 9 次反弹)。 - 在每次循环中,`height` 除以 2 得到反弹高度,`totalDistance` 加上 2 倍的反弹高度(因为反弹上去再落下来)。 3. 第 10 次反弹高度计算: - 循环结束后,再将 `height` 除以 2 得到第 10 次反弹的高度。 4. 输出结果: - 使用 `cout` 输出 `totalDistance` 和 `height`,用空格分隔。 [2026-02-07 12:00:25 | AI问答 | 324点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多