酷代码 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次(因为第一次下落已经单独计算)。每次循环中,球反弹的高度为原来的一半,即 `height /= 2`,同时总经过距离增加 `2 * height`,因为球上升和下落的距离相同。 3. 循环结束后,进行第10次反弹,将 `height` 再除以2。 4. 最后使用 `cout` 输出总经过距离和第10次反弹的高度,两者之间用空格分隔。 [2026-02-06 22:12:39 | AI问答 | 283点数解答]

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