可以使用兩層循環(huán)遍歷數(shù)組,對每個元素進行比較,如果相同則計數(shù)器加一。
示例代碼如下:
#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
函數(shù)接受一個整型數(shù)組和數(shù)組大小作為參數(shù),返回數(shù)組中相同元素的個數(shù)。函數(shù)內(nèi)部使用兩層循環(huán)遍歷數(shù)組,對每個元素進行比較,如果發(fā)現(xiàn)相同元素,則計數(shù)器 count
加一。最后,在 main
函數(shù)中調(diào)用 countDuplicates
函數(shù),并打印結(jié)果。
對于示例代碼中的數(shù)組 {1, 2, 3, 2, 4, 5, 4, 7, 1, 9}
,輸出結(jié)果為 3
,表示有 3
個重復的元素。