酷代码 AI
菜单
服务商

c++乌拉乎需要将小写字母都换成大写字母。请你编写程序,帮助乌拉乎完成任务。 输入: 共两行。 第一行为一个整数n,表示字符的个数。 第二行为n个字符。(保证输入的字符都是英文字母,且同时包含大小写) 输出: n个字符,为所有字符转换为大写字母后的结果

```cpp #include <iostream> #include <string> int main() { int n; std::cin >> n; std::string input; std::cin >> input; for (int i = 0; i < n; i++) { if (input[i] >= 'a' && input[i] <= 'z') { input[i] = input[i] - 32; } } std::cout << input << std::endl; return 0; } ``` 代码解释 1. 输入部分: - `std::cin >> n;`:读取一个整数 `n`,它代表接下来要输入的字符个数。 - `std::cin >> input;`:读取 `n` 个字符并存储在字符串 `input` 中。 2. 转换部分: - 使用 `for` 循环遍历字符串 `input` 的每个字符。 - 通过 `if` 语句判断当前字符是否为小写字母(`input[i] >= 'a' && input[i] <= 'z'`)。 - 如果是小写字母,将其转换为大写字母。在 ASCII 码表中,小写字母和对应的大写字母相差 32,所以通过 `input[i] = input[i] - 32;` 实现转换。 3. 输出部分: - `std::cout << input << std::endl;`:输出转换后的字符串。 复杂度分析 - 时间复杂度:$O(n)$,因为只需要对输入的字符串进行一次遍历。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-05 19:44:32 | AI问答 | 389点数解答]

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