c语言判断整型数组每个元素中有无重复数字
时间: 2024-12-21 16:23:10 浏览: 6
在C语言中,你可以通过遍历数组并使用哈希表(如`unordered_set`或`stdbool`数组)来检查整型数组中的元素是否有重复。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
bool hasDuplicate(int arr[], int n) {
// 使用布尔数组记录已访问的元素
bool visited[n];
for (int i = 0; i < n; i++) {
if (visited[i]) {
return true; // 如果当前元素已经存在于visited中,说明有重复
}
visited[i] = true; // 标记当前元素已访问
// 遍历数组,查找是否还有其他相同的元素
for (int j = i + 1; j < n; j++) {
if (arr[j] == arr[i]) {
return true;
}
}
}
return false; // 没有找到重复,返回false
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
if (hasDuplicate(arr, n)) {
printf("数组中有重复数字。\n");
} else {
printf("数组中无重复数字。\n");
}
return 0;
}
```
在这个例子中,`hasDuplicate`函数接收一个整型数组和其长度作为输入,它会首先初始化一个`visited`数组来跟踪每个元素是否已经被检查过。如果遇到重复的元素,函数就会立即返回`true`,表示存在重复;如果没有找到重复,最后返回`false`。
阅读全文