数组中有几个相同的数字用c语言解决
时间: 2024-11-20 19:41:27 浏览: 6
C语言 数组中重复的数字分析及方法
在C语言中,检测数组中有多少个相同的数字可以使用循环、临时变量以及计数器的方式来实现。下面是一个简单的示例函数,它接受一个整型数组和其大小作为输入,并返回重复元素的数量:
```c
#include <stdio.h>
int countDuplicates(int arr[], int n) {
int count = 0;
for (int i = 0; i < n - 1; i++) { // 遍历数组到倒数第二项
if (arr[i] == arr[i + 1]) { // 比较当前元素和下一个元素是否相等
count++; // 如果相等,计数器加一
}
}
// 最后一项也需要单独检查,因为边界条件可能有重复
if (arr[n - 1] == arr[0]) {
count++;
}
return count;
}
// 示例
int main() {
int array[] = {1, 2, 3, 4, 5, 5, 6, 7, 8, 8};
int size = sizeof(array) / sizeof(array[0]);
int duplicates = countDuplicates(array, size);
printf("数组中有 %d 个相同的数字.\n", duplicates);
return 0;
}
```
这个函数假设数组不会包含大量重复元素,如果需要处理大数据集并查找所有重复项的位置,可以使用哈希表(如`std::unordered_set`)来提高效率。
阅读全文