C++ 实现:从含数字字符串中拼出最大正整数
```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s; // 读取输入的字符串 cin >> s; string numbers; // 遍历字符串,提取其中的数字 for (char c : s) { if (isdigit(c) && c != '0') { numbers += c; } } // 对提取的数字进行降序排序 sort(numbers.begin(), numbers.end(), greater<char>()); // 统计字符串中 0 的数量 int zeroCount = 0; for (char c : s) { if (c == '0') { zeroCount++; } } // 如果有非零数字,在排序后的数字后面添加所有的 0 if (!numbers.empty()) { numbers.append(zeroCount, '0'); } else { // 如果没有非零数字,只能拼成 0 numbers = "0"; } // 输出能拼成的最大正整数 cout << numbers << endl; return 0; } ``` 代码解释 1. 输入读取:使用 `cin` 读取输入的字符串 `s`。 2. 提取数字:遍历字符串 `s`,将其中的非零数字添加到 `numbers` 字符串中。 3. 排序:对 `numbers` 字符串进行降序排序,以确保数字按从大到小的顺序排列。 4. 统计 0 的数量:再次遍历字符串 `s`,统计其中 0 的数量。 5. 拼接结果:如果 `numbers` 不为空,在其后面添加所有的 0;如果为空,将结果设为 "0"。 6. 输出结果:输出最终的字符串 `numbers`,即能拼成的最大正整数。 ######[AI问答 | 441点数解答 | 2025-11-08 20:56:33]
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)482
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)471
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)406
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)432
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)81
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)112
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)44
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)54
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)350
- 高考毕业晚会难题:从学生能力值求最大默契程度的Python解法(字节豆包 | 487点数解答 | 2026-01-24 13:10:18)44
- Python 正则表达式:从“文本+数字+顿号”字符串中精准提取内容(字节豆包 | 218点数解答 | 2024-11-07 12:17:47)224
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)320