C++编程实例:模拟机器人行走路径 - 东风谷早苗

这篇文章将带你解决一个有趣的C++编程问题,模拟一个机器人根据指令行走并计算其最终位置。

问题描述

东风谷早苗获得了一个可以自动行走的新型机器人。这个机器人可以根据输入的命令串进行移动,命令包括:

  • 'E':向东移动一个单位长度- 'S':向南移动一个单位长度- 'W':向西移动一个单位长度- 'N':向北移动一个单位长度

机器人会循环执行命令串中的命令。你的任务是编写一个程序,计算出机器人执行T秒后所在的坐标位置。

初始位置为 (0, 0),坐标系定义如下:

  • 向东移动:坐标变为 (X+1, Y)- 向南移动:坐标变为 (X, Y-1)- 向西移动:坐标变为 (X-1, Y)- 向北移动:坐标变为 (X, Y+1)

输入格式

  • 第一行:一个字符串,表示早苗输入的命令串,保证至少有1个命令- 第二行:一个正整数T,表示机器人的行走时间

输出格式

输出两个整数,表示T秒时,机器人的坐标 (X, Y)

示例

输入:

ESSWWN10

输出:

-1 -2

代码实现c++#include #include

using namespace std;

int main() { string commands; int T;

cin >> commands >> T;

int x = 0, y = 0; int len = commands.length();

for (int i = 0; i < T; ++i) { char command = commands[i % len]; switch (command) { case 'E': x++; break; case 'S': y--; break; case 'W': x--; break; case 'N': y++; break; } }

cout << x << ' ' << y << endl; return 0;}

解题思路

  1. 首先,读取机器人的命令串和行走时间。2. 初始化机器人的坐标 (x, y) 为 (0, 0)。3. 使用循环遍历每个时间单位,根据当前命令更新机器人的坐标。4. 使用模运算 (i % len) 来循环执行命令串。5. 最后,输出机器人最终的坐标位置。

总结

这道题目考察了基本的字符串处理、循环和条件语句的应用。通过模拟机器人的行走路径,我们可以更深入地理解编程的基本概念,并学习如何将实际问题转化为代码实现。


原文地址: https://www.cveoy.top/t/topic/oGP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录