5 编写一个程序,输入一个包含 10 个整数的一维数组,然后删除其中的重复元素,并
时间: 2024-12-29 13:35:03 浏览: 16
要编写一个程序,输入一个包含10个整数的一维数组,删除其中的重复元素,可以按照以下步骤进行:
1. 声明一个包含10个整数的一维数组[^1],例如:
```c
int arr[10];
```
2. 从用户那里获取10个整数输入:
```c
for (int i = 0; i < 10; i++) {
printf("Enter integer %d: ", i+1);
scanf("%d", &arr[i]);
}
```
3. 使用`std::set`或`std::unordered_set`来存储不重复的元素[^2],因为它们自动去重:
```c++
#include <set>
std::set<int> unique_elements;
```
4. 将输入的数组元素添加到集合中,这样重复的元素就会被自动去除:
```c++
for (int num : arr) {
unique_elements.insert(num);
}
```
5. 转换回一维数组以便后续操作,这里假设大小已知,如`unique_elements.size()`:
```c++
int unique_arr[unique_elements.size()];
int count = 0;
for (const auto& num : unique_elements) {
unique_arr[count++] = num;
}
```
6. 最后,输出或处理这个不重复的数组。
注意:上述代码示例使用了C++,如果你需要C语言版本,`std::set`应该替换为手动实现的查找/插入逻辑。另外,`unique_elements.size()`可能不是实际数组大小,因为它是一个集合,但为了简化这里,我们假定它恰好对应于原始数组的唯一元素数量。
阅读全文