酷代码 AI
菜单
服务商

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

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int numbers[100]; int uniqueNumbers[100]; int uniqueCount = 0; for (int i = 0; i < n; i++) { cin >> numbers[i]; bool isDuplicate = false; for (int j = 0; j < uniqueCount; j++) { if (numbers[i] == uniqueNumbers[j]) { isDuplicate = true; break; } } if (!isDuplicate) { uniqueNumbers[uniqueCount] = numbers[i]; uniqueCount++; } } for (int i = 0; i < uniqueCount; i++) { cout << uniqueNumbers[i]; if (i < uniqueCount - 1) { cout << " "; } } cout << endl; return 0; } ``` 代码解释: 1. 输入处理:首先读取一个整数`n`,表示接下来要输入的数字个数。然后使用一个循环读取`n`个数字,将它们存储在数组`numbers`中。 2. 去重操作:使用另一个数组`uniqueNumbers`来存储去重后的数字。在读取每个数字时,检查它是否已经存在于`uniqueNumbers`中。如果不存在,则将其添加到`uniqueNumbers`中,并增加`uniqueCount`。 3. 输出结果:遍历`uniqueNumbers`数组,依次输出其中的数字,数字之间用空格分隔。 复杂度分析: - 时间复杂度:$O(n^2)$,因为对于每个数字,都需要遍历`uniqueNumbers`数组来检查是否重复。 - 空间复杂度:$O(n)$,主要用于存储去重后的数字。 [2026-02-06 21:04:50 | AI问答 | 434点数解答]

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