c语言数组输出不重复的数
时间: 2024-12-25 22:26:58 浏览: 11
在C语言中,如果你想从数组中输出不重复的元素,你可以通过遍历数组并将每个元素添加到另一个数据结构,如集合(Set)或哈希表(Hash Table),以避免重复。由于C标准库本身并未提供内置的集合或哈希表,我们可以自定义解决方案。这里是一个简单的示例,使用一个一维数组作为临时存储,并检查新元素是否已存在:
```c
#include <stdio.h>
#include <stdbool.h>
#define SIZE 10 // 定义数组大小
void print_unique(int arr[], int n) {
bool visited[SIZE]; // 初始化一个布尔数组记录元素是否已输出
for (int i = 0; i < n; ++i) {
if (!visited[arr[i]]) { // 如果元素未访问过
printf("%d ", arr[i]); // 输出元素
visited[arr[i]] = true; // 标记该元素已被访问
}
}
}
int main() {
int array[] = {1, 2, 2, 3, 4, 5, 6, 6, 7, 8};
int size = sizeof(array) / sizeof(array[0]);
print_unique(array, size);
return 0;
}
```
在这个例子中,我们创建了一个`visited`数组用于跟踪元素状态。当遇到一个新元素时,我们打印它并将其设为已访问。如果遇到已经存在的元素,则跳过。
阅读全文