输入若干个整数,找是否含有两个相同的数字,用构造函数和数组,用c语言函数使用int ab(int size,int a[])
时间: 2024-02-16 16:03:41 浏览: 32
好的,以下是示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
#define MAX_SIZE 100
bool check(int size, int a[]) {
bool seen[MAX_SIZE] = {false};
for (int i = 0; i < size; i++) {
if (seen[a[i]]) {
return true;
}
seen[a[i]] = true;
}
return false;
}
int main() {
int nums1[] = {1, 2, 3, 4, 5, 6, 7};
printf("%s\n", check(7, nums1) ? "true" : "false"); // false
int nums2[] = {1, 2, 3, 4, 5, 6, 7, 7};
printf("%s\n", check(8, nums2) ? "true" : "false"); // true
return 0;
}
```
以上代码定义了一个 `check` 函数,该函数接受一个整数数组 `a` 和数组长度 `size` 作为参数,用于检查整数数组中是否有重复数字,如果有则返回 `true`,否则返回 `false`。
在 `check` 函数中,使用了一个布尔型数组 `seen` 来记录已经出现过的数字。遍历整数数组,如果当前数字已经在 `seen` 数组中出现过,则说明有重复数字,直接返回 `true`。如果遍历完整个整数数组仍然没有找到重复数字,则返回 `false`。
在示例代码中,我们先创建两个整数数组,一个有重复数字,一个没有重复数字。然后分别使用 `check` 函数来检查这两个整数数组,最终输出结果。
希望这个示例代码能够帮到你,如果你有任何问题或者需求,可以随时告诉我。