可以使用兩層循環遍歷數組,對每個元素進行比較,如果相同則計數器加一。
示例代碼如下:
#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
個重復的元素。