C++问题依指令行事题目描述 给出一个长度为n的字符串a和n个指令(n≤20),指令为L和R中的一个,表示取a字符串最左边还是最右边的字符。将取出的字符按顺序拼成新的字符串,输出它。代码
时间: 2024-04-07 18:33:20 浏览: 6
以下是一个示例的C++代码,用于按照指令从字符串的左侧或右侧提取字符并按顺序拼接成新的字符串:
```cpp
#include <iostream>
#include <string>
std::string extractCharacters(const std::string& str, const std::string& instructions) {
std::string result;
int n = str.length();
for (char instruction : instructions) {
if (instruction == 'L') {
result += str[0]; // 从左侧取字符
str.erase(0, 1); // 删除已取出的字符
} else if (instruction == 'R') {
result += str[n-1]; // 从右侧取字符
str.pop_back(); // 删除已取出的字符
}
n--;
}
return result;
}
int main() {
std::string str, instructions;
std::cout << "请输入字符串: ";
std::cin >> str;
std::cout << "请输入指令: ";
std::cin >> instructions;
std::string result = extractCharacters(str, instructions);
std::cout << "拼接后的字符串为: " << result << std::endl;
return 0;
}
```
请注意,上述代码假设输入的指令只包含'L'和'R',并且不会超出字符串的长度范围。