C++ 实现小核桃侦探赶往案发现场最短时间计算
以下是解决该问题的 C++ 代码: ```cpp #include <iostream> #include <iomanip> int main() { int l, d, v, g, r; // 输入总距离、出发点到红绿灯的距离、速度、绿灯持续时间、红灯持续时间 std::cin >> l >> d >> v >> g >> r; // 计算到达红绿灯所需的时间 double timeToTrafficLight = static_cast<double>(d) / v; // 计算在红绿灯处是否需要等待 double cycleTime = g + r; double remainder = fmod(timeToTrafficLight, cycleTime); double waitTime = 0; if (remainder >= g) { // 如果到达时是红灯,计算等待时间 waitTime = cycleTime - remainder; } // 计算从红绿灯到终点所需的时间 double timeFromTrafficLightToEnd = static_cast<double>(l - d) / v; // 计算总时间 double totalTime = timeToTrafficLight + waitTime + timeFromTrafficLightToEnd; // 输出结果,保留 8 位小数 std::cout << std::fixed << std::setprecision(8) << totalTime << std::endl; return 0; } ``` ### 代码解释: 1. **输入部分**:通过 `std::cin` 读取总距离 `l`、出发点到红绿灯的距离 `d`、速度 `v`、绿灯持续时间 `g` 和红灯持续时间 `r`。 2. **计算到达红绿灯所需的时间**:使用公式 `timeToTrafficLight = d / v` 计算小核桃到达红绿灯所需的时间。 3. **判断是否需要等待**:计算一个红绿灯周期的时间 `cycleTime = g + r`,并计算到达红绿灯时在当前周期内的剩余时间 `remainder`。如果 `remainder` 大于等于绿灯持续时间 `g`,说明到达时是红灯,需要计算等待时间 `waitTime`。 4. **计算从红绿灯到终点所需的时间**:使用公式 `timeFromTrafficLightToEnd = (l - d) / v` 计算从红绿灯到终点所需的时间。 5. **计算总时间**:总时间等于到达红绿灯的时间加上等待时间再加上从红绿灯到终点的时间。 6. **输出结果**:使用 `std::fixed` 和 `std::setprecision(8)` 确保输出结果保留 8 位小数。 ######[AI问答 | 585点数解答 | 2026-03-29 15:41:42]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)346
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)229
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)232
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)316
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)75
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)28
- 小核桃侦探赶案发现场时间计算的Python实现(字节豆包 | 455点数解答 | 2026-03-29 15:20:17)4
- 小核桃侦探破案之计算到达案发现场最短时间(字节豆包 | 397点数解答 | 2026-03-29 15:41:03)4
- C++ 实现小核桃侦探赶往案发现场最短时间计算(字节豆包 | 585点数解答 | 2026-03-29 15:41:42)3
- 小核桃侦探赶路问题:计算到达案发现场最短时间的Python实现(字节豆包 | 232点数解答 | 2026-03-29 15:43:16)3
- 小核桃侦探出行时间计算:基于红绿灯规则的最短耗时求解(字节豆包 | 342点数解答 | 2026-03-29 15:47:43)4
- C++ 实现小核桃侦探赶往案发现场时间计算(字节豆包 | 557点数解答 | 2026-03-29 15:48:45)4