酷代码 AI
菜单
服务商

C++ 实现随机数去重与排序,助力新手解决问卷调查选号难题

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int N; // 读取随机数的个数 std::cin >> N; std::vector<int> numbers(N); // 读取 N 个随机数 for (int i = 0; i < N; ++i) { std::cin >> numbers[i]; } // 对数组进行排序 std::sort(numbers.begin(), numbers.end()); // 去重操作 std::vector<int> uniqueNumbers; for (int i = 0; i < N; ++i) { if (i == 0 || numbers[i] != numbers[i - 1]) { uniqueNumbers.push_back(numbers[i]); } } // 输出不相同的随机数的个数 int M = uniqueNumbers.size(); std::cout << M << std::endl; // 输出从小到大排好序的不相同的随机数 for (int i = 0; i < M; ++i) { if (i > 0) { std::cout << " "; } std::cout << uniqueNumbers[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入读取**:首先读取随机数的个数 `N`,然后读取 `N` 个随机数并存储在 `numbers` 向量中。 2. **排序**:使用 `std::sort` 函数对 `numbers` 向量进行排序,这样相同的数字会相邻。 3. **去重**:遍历排序后的 `numbers` 向量,将不重复的数字添加到 `uniqueNumbers` 向量中。 4. **输出结果**:输出不相同的随机数的个数 `M`,然后输出从小到大排好序的不相同的随机数。 ######[AI问答 | 480点数解答 | 2026-02-25 16:42:48]

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