酷代码 AI
菜单

为了抓到黄金窃贼,小队需要将酒店系统的字符串分割。现给出酒店系统的字符串和分割符,要求换行输出字符串分割之后的两个字符串(不包括分割符)。 (保证酒店系统字符串内分割符只有1个) 输入: 第一行,一个字符串s,表示酒店系统字符串 第二行,一个字符c,表示分割符。 输出: 字符串s按照分割符分割之后的两个字符串,每个字符串一行。c++

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <string> int main() { std::string s; char c; // 读取酒店系统字符串 std::getline(std::cin, s); // 读取分割符 std::cin >> c; // 查找分割符的位置 size_t pos = s.find(c); // 输出分割符之前的字符串 std::cout << s.substr(0, pos) << std::endl; // 输出分割符之后的字符串 std::cout << s.substr(pos + 1) << std::endl; return 0; } ``` 代码解释: 1. 输入读取: - 使用 `std::getline(std::cin, s)` 读取酒店系统字符串 `s`。 - 使用 `std::cin >> c` 读取分割符 `c`。 2. 查找分割符位置: - 使用 `s.find(c)` 查找分割符 `c` 在字符串 `s` 中的位置,并将其存储在 `pos` 中。 3. 输出分割后的字符串: - 使用 `s.substr(0, pos)` 提取分割符之前的字符串并输出。 - 使用 `s.substr(pos + 1)` 提取分割符之后的字符串并输出。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是字符串 `s` 的长度。主要时间开销在于查找分割符的位置。 - 空间复杂度:$O(n)$,主要空间开销在于存储输入的字符串 `s`。 [2026-01-31 20:57:05 | AI问答 | 382点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多