C++ 提取字符串中 3 的倍数位置字符的实现
### 🔍问题分析 本题要求从输入的字符串中提取出位置为 3 的倍数的字符并输出。我们可以遍历字符串,将位置是 3 的倍数的字符依次添加到结果字符串中,最后输出结果字符串。 ### 💻代码实现 ```cpp #include <iostream> #include <string> int main() { std::string s; // 读取输入的字符串 std::cin >> s; std::string result = ""; for (int i = 2; i < s.length(); i += 3) { // 将位置为 3 的倍数的字符添加到结果字符串中 result += s[i]; } // 输出结果 std::cout << result << std::endl; return 0; } ``` ### 📋代码解释 1. **输入处理**:使用 `std::cin` 读取输入的字符串 `s`。 2. **遍历字符串**:使用 `for` 循环从索引 2 开始(因为索引从 0 开始,第 3 个字符的索引是 2),以步长 3 遍历字符串,将位置为 3 的倍数的字符添加到结果字符串 `result` 中。 3. **输出结果**:使用 `std::cout` 输出结果字符串 `result`。 ### ⚙️复杂度分析 - **时间复杂度**:$O(n)$,其中 $n$ 是字符串的长度。因为只需要遍历一次字符串。 - **空间复杂度**:$O(m)$,其中 $m$ 是结果字符串的长度,最坏情况下为 $O(\frac{n}{3})$。 ### 🚀开发建议 - **边界条件检查**:在实际开发中,可以添加对输入字符串长度的检查,如果长度小于 3,则可以直接输出空字符串。 - **代码复用**:可以将提取位置为 3 的倍数的字符的逻辑封装成一个函数,提高代码的复用性。 ######[AI写代码神器 | 469点数解答 | 2026-08-08 21:07:05]
- C++实现读取数字并输出最小值的代码及解释(字节豆包 | 113点数解答 | 2026-03-20 19:32:56)99
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)559
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)556
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)485
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)507
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)163
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)219
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)135
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- C++ 判断正整数倍数:模运算、输出格式与边界处理(DeepSeek | 1916点数解答 | 2026-05-22 20:38:46)98
- C语言:按特定格式输入并格式化输出整数、实数和字符(字节豆包 | 103点数解答 | 2024-10-24 11:12:53)499
- Python 实现按指定字符位置逆序字符串,处理多种边界情况!(字节豆包 | 197点数解答 | 2024-11-22 16:55:09)401