酷代码 AI
菜单
服务商

乌拉乎需要将小写字母都换成大写字母。请你编写程序,帮助乌拉乎完成任务。 输入: 共两行。 第一行为一个整数n,表示字符的个数。 第二行为n个字符。(保证输入的字符都是英文字母,且同时包含大小写) 输出: n个字符,为所有字符转换为大写字母后的结果。#include <iostream> using namespace std; int main() { int n; char ch; cin >> n; for (int i = 1; i <= n; i++) { if ( ) { //小写字母转大写字母减32 } } return 0; }

为了将输入的小写字母转换为大写字母,可以利用 ASCII 码的特性。在 ASCII 码表中,小写字母和大写字母的差值是固定的,小写字母比对应的大写字母的 ASCII 码值大 32。要把小写字母转换为大写字母,只需将其 ASCII 码值减去 32。 以下是完整的代码: ```cpp #include <iostream> using namespace std; int main() { int n; char ch; cin >> n; for (int i = 1; i <= n; i++) { cin >> ch; // 判断是否为小写字母 if (ch >= 'a' && ch <= 'z') { // 小写字母转大写字母减 32 ch = ch - 32; } cout << ch; } return 0; } ``` 代码解释: 1. 输入字符个数:使用 `cin >> n;` 读取字符的个数。 2. 循环读取字符:通过 `for` 循环,使用 `cin >> ch;` 逐个读取字符。 3. 判断是否为小写字母:使用 `if (ch >= 'a' && ch <= 'z')` 判断当前字符是否为小写字母。 4. 转换为大写字母:如果是小写字母,将其 ASCII 码值减去 32,即 `ch = ch - 32;`。 5. 输出字符:使用 `cout << ch;` 输出转换后的字符。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是输入字符的个数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-08 13:04:42 | AI问答 | 416点数解答]

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