酷代码 AI
菜单
服务商

c++ 幽冥洞穴的地上亮起了n个字符串,煎饼果子队只有走在每个字符串的第二个字符上,才能通过整个幽冥洞穴。请你帮助煎饼果子队编写程序,输出所有能走的字符。 输入: 共n+1行。 第一行为一个整数n,表示一共有n个字符串。 接下来n行,每一行为一个字符串,依次表示显示在地上的字符串。 输出: 共n行,每一行为一个字符,依次表示每个字符串中可以行走的地方。

```cpp #include <iostream> #include <string> int main() { int n; std::cin >> n; std::cin.ignore(); for (int i = 0; i < n; i++) { std::string s; std::getline(std::cin, s); if (s.length() >= 2) { std::cout << s[1] << std::endl; } } return 0; } ``` 代码解释 1. 输入字符串数量: - 定义一个整数变量 `n` 用于存储要输入的字符串的数量。 - 使用 `std::cin >> n` 从标准输入读取一个整数并赋值给 `n`。 - 调用 `std::cin.ignore()` 忽略掉 `std::cin` 遗留的换行符,防止影响后续字符串的读取。 2. 循环处理每个字符串: - 使用 `for` 循环,循环 `n` 次,每次处理一个字符串。 - 在每次循环中,定义一个字符串变量 `s`,使用 `std::getline(std::cin, s)` 读取一行字符串。 3. 输出第二个字符: - 通过 `s.length() >= 2` 检查字符串的长度是否至少为 2,确保字符串有第二个字符。 - 如果满足条件,使用 `s[1]` 访问字符串的第二个字符(在 C++ 中,字符串的索引从 0 开始),并将其输出,同时换行。 复杂度分析 - 时间复杂度:$O(n \times m)$,其中 `n` 是字符串的数量,`m` 是字符串的平均长度。主要时间开销在于读取和处理每个字符串。 - 空间复杂度:$O(m)$,主要空间开销在于存储每次读取的字符串。 [2025-12-05 19:52:41 | AI问答 | 431点数解答]

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