可以使用两层循环遍历数组,对每个元素进行比较,如果相同则计数器加一。
示例代码如下:
#include <stdio.h>
int countDuplicates(int arr[], int size)
{
int count = 0;
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (arr[i] == arr[j]) {
count++;
break;
}
}
}
return count;
}
int main()
{
int arr[] = {1, 2, 3, 2, 4, 5, 4, 7, 1, 9};
int size = sizeof(arr) / sizeof(arr[0]);
int duplicates = countDuplicates(arr, size);
printf("Number of duplicate elements: %d\n", duplicates);
return 0;
}
上述代码中,countDuplicates
函数接受一个整型数组和数组大小作为参数,返回数组中相同元素的个数。函数内部使用两层循环遍历数组,对每个元素进行比较,如果发现相同元素,则计数器 count
加一。最后,在 main
函数中调用 countDuplicates
函数,并打印结果。
对于示例代码中的数组 {1, 2, 3, 2, 4, 5, 4, 7, 1, 9}
,输出结果为 3
,表示有 3
个重复的元素。