酷代码 AI
菜单
服务商

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

```cpp #include <iostream> #include <unordered_set> #include <vector> int main() { int n; // 读取数字的数量 std::cin >> n; std::unordered_set<int> uniqueNumbers; std::vector<int> result; for (int i = 0; i < n; ++i) { int num; // 读取每个数字 std::cin >> num; // 如果该数字不在集合中,将其添加到集合和结果向量中 if (uniqueNumbers.find(num) == uniqueNumbers.end()) { uniqueNumbers.insert(num); result.push_back(num); } } // 输出去重后的数字 for (int i = 0; i < result.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << result[i]; } std::cout << std::endl; return 0; } ``` 代码解释 1. 头文件引入:引入了`<iostream>`用于输入输出操作,`<unordered_set>`用于存储不重复的数字,`<vector>`用于存储去重后的数字序列。 2. 读取输入:首先读取数字的数量`n`,然后通过循环读取`n`个数字。 3. 去重操作:使用`unordered_set`来存储已经出现过的数字,对于每个读取的数字,检查其是否已经在`unordered_set`中,如果不在,则将其添加到`unordered_set`和`result`向量中。 4. 输出结果:遍历`result`向量,输出去重后的数字,数字之间用空格分隔。 [2026-02-06 21:04:14 | AI问答 | 399点数解答]

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