C++ 实现海龟移动指令计算最终位置坐标
以下是使用 C++ 实现该功能的代码: ```cpp #include <iostream> #include <string> using namespace std; int main() { // 初始位置 int x = 0, y = 0; // 初始方向,0 表示 x 轴正方向,1 表示 y 轴正方向,2 表示 x 轴负方向,3 表示 y 轴负方向 int direction = 0; string s; cin >> s; for (char c : s) { switch (c) { case 'R': // 顺时针旋转 90 度 direction = (direction + 1) % 4; break; case 'L': // 逆时针旋转 90 度 direction = (direction + 3) % 4; break; case 'F': // 前进一个单元 if (direction == 0) { x++; } else if (direction == 1) { y++; } else if (direction == 2) { x--; } else { y--; } break; case 'B': // 后退一个单元 if (direction == 0) { x--; } else if (direction == 1) { y--; } else if (direction == 2) { x++; } else { y++; } break; } } cout << x << " " << y << endl; return 0; } ``` ### 代码解释: 1. **初始状态**:`x` 和 `y` 表示海龟的初始位置,`direction` 表示海龟的初始方向,`0` 表示 x 轴正方向,`1` 表示 y 轴正方向,`2` 表示 x 轴负方向,`3` 表示 y 轴负方向。 2. **读取输入**:使用 `cin` 读取输入的字符串 `s`。 3. **遍历指令**:使用 `for` 循环遍历字符串 `s` 中的每个字符,根据字符执行相应的操作。 - `R`:顺时针旋转 90 度,通过 `(direction + 1) % 4` 更新方向。 - `L`:逆时针旋转 90 度,通过 `(direction + 3) % 4` 更新方向。 - `F`:根据当前方向前进一个单元。 - `B`:根据当前方向后退一个单元。 4. **输出结果**:输出最终的位置坐标。 ######[AI问答 | 638点数解答 | 2026-03-14 20:57:34]
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)43
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)339
- 8 - 1 数据结构大作业:功能完备、跨平台的资源管理器设计与实现 (GPT | 654点数解答 | 2024-12-04 19:07:22)350
- 数据结构大作业:100分资源管理器设计与实现,功能全、评分明!(GPT | 186点数解答 | 2024-12-04 21:33:38)236
- Python实现资源管理器大作业:涵盖多操作功能与错误处理要点(字节豆包 | 883点数解答 | 2024-12-05 15:03:36)243
- Python 实现资源管理器:管理、预览、操作文件与文件夹,附代码及注意要点(字节豆包 | 427点数解答 | 2024-12-05 15:06:07)360
- C 语言实现多功能资源管理器:含文件管理、预览及操作功能(字节豆包 | 607点数解答 | 2024-12-05 15:06:26)289
- 小学1年级“资源管理器”知识测试卷大揭秘!(字节豆包 | 374点数解答 | 2024-12-19 17:01:35)225
- 大三资源管理器测试卷:从理论到编程实战全解析(阿里通义 | 2000点数解答 | 2024-12-19 17:03:30)188
- Python 实现资源管理器:含代码示例与功能拓展要点,数据结构大作业示范 (字节豆包 | 526点数解答 | 2024-12-31 16:31:21)181
- Java 实现功能丰富的资源管理器:含代码示例与注意要点,数据结构大作业来袭! (字节豆包 | 499点数解答 | 2024-12-31 16:31:32)180
- C语言打造超实用资源管理器:文件管理、预览与操作全实现!(DeepSeek | 1797点数解答 | 2025-07-11 01:46:58)110