酷代码 AI
菜单
服务商

C++ 初学者:分离墙上混乱大小写 ASCII 码字母串的代码详解

```cpp #include <iostream> #include <string> using namespace std; int main() { int n; // 读取混合字串的总长度 cin >> n; string input; // 读取包含大小写字母的字符串 cin >> input; // 再读取一次相同的字符串,不过这一行读取在本题逻辑里不影响结果 cin >> input; // 用于存储大写字母的字符串 string uppercaseLetters = ""; // 用于存储小写字母的字符串 string lowercaseLetters = ""; // 遍历输入的字符串 for (int i = 0; i < n; i++) { // 判断字符是否为大写字母 if (input[i] >= 'A' && input[i] <= 'Z') { // 如果是大写字母,添加到存储大写字母的字符串中 uppercaseLetters = uppercaseLetters + input[i]; } // 判断字符是否为小写字母 else if (input[i] >= 'a' && input[i] <= 'z') { // 如果是小写字母,添加到存储小写字母的字符串中 lowercaseLetters = lowercaseLetters + input[i]; } } // 输出筛选后的大写字母串 cout << uppercaseLetters << endl; // 输出筛选后的小写字母串 cout << lowercaseLetters << endl; return 0; } ``` 代码解释 1. 输入部分: - `cin >> n;`:从控制台读取一个整数 `n`,它代表混合字符串的总长度。 - `cin >> input;`:读取一行包含大小写字母的字符串。 - 又一次 `cin >> input;`:这里再次读取一行相同的字符串,但在本题后续逻辑里没有实际作用,只是按照输入要求进行读取。 2. 变量声明: - `string uppercaseLetters = "";`:定义一个空字符串 `uppercaseLetters`,用来存放筛选出来的大写字母。 - `string lowercaseLetters = "";`:定义一个空字符串 `lowercaseLetters`,用来存放筛选出来的小写字母。 3. 遍历字符串: - 使用 `for` 循环遍历输入的字符串 `input`。 - 在循环里,通过 `if` 语句判断当前字符是否为大写字母(`input[i] >= 'A' && input[i] <= 'Z'`),如果是,就把它添加到 `uppercaseLetters` 中。 - 通过 `else if` 语句判断当前字符是否为小写字母(`input[i] >= 'a' && input[i] <= 'z'`),如果是,就把它添加到 `lowercaseLetters` 中。 4. 输出结果: - `cout << uppercaseLetters << endl;`:输出筛选后的大写字母串。 - `cout << lowercaseLetters << endl;`:输出筛选后的小写字母串。 复杂度分析 - 时间复杂度:$O(n)$,这里的 $n$ 是输入字符串的长度。因为只需要对输入字符串进行一次遍历。 - 空间复杂度:$O(n)$,主要是用来存储筛选后的大写字母串和小写字母串。 ######[AI问答 | 733点数解答 | 2025-12-05 19:27:58]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]