以下是用 C++ 实现的代码: ```cpp #include <iostream> // 计算总经过的距离和第 n 次反弹的高度 void calculate(int n) { double height = h; // 初始高度 double totalDistance = 0; // 总经过的距离 for (int i = 1; i <= n; i++) { totalDistance += height; // 下落的距离 height /= 2; // 反弹高度变为原来的一半 totalDistance += height; // 反弹的距离 } std::cout << "第 10 次落地时,共经过 " << totalDistance << " 米。" << std::endl; std::cout << "第 10 次反弹高度为 " << height << " 米。" << std::endl; } int main() { double h; // 输入初始高度 std::cout << "请输入初始高度:"; std::cin >> h; calculate(10); // 计算第 10 次的情况 return 0; } ``` 额外需要注意的逻辑点: 1. 输入的初始高度要保证是正数。 2. 计算过程中要注意数据类型的精度,防止计算结果出现误差。 3. 循环次数要准确,确保计算到第 10 次的情况。 [2024-12-07 20:05:10 | AI写代码神器 | 324点数解答]