酷代码 AI
菜单
服务商

依次输入n个数,将其去重后依次输出。 输入 第一行一个数 n ( n ≤ 100 ) n(n≤100) 第二行n个<= 4002720 的数,之间以空格隔开 输出 输出去重后的数 以C++的形式回答

```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n; std::cin >> n; std::vector<int> numbers(n); for (int i = 0; i < n; ++i) { std::cin >> numbers[i]; } // 对向量进行排序 std::sort(numbers.begin(), numbers.end()); // 移除相邻的重复元素 auto last = std::unique(numbers.begin(), numbers.end()); numbers.erase(last, numbers.end()); // 输出去重后的元素 for (int num : numbers) { std::cout << num << " "; } return 0; } ``` 代码解释: 1. 输入处理:首先读取一个整数`n`,表示接下来要输入的数字个数。然后使用`std::vector`存储这`n`个数字。 2. 排序:使用`std::sort`函数对存储数字的向量进行排序,这样重复的元素会相邻排列。 3. 去重:使用`std::unique`函数移除相邻的重复元素,该函数返回一个指向不重复元素范围末尾的迭代器。然后使用`erase`函数删除多余的元素。 4. 输出结果:遍历去重后的向量,并输出其中的元素。 [2026-02-07 21:01:28 | AI问答 | 312点数解答]

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