C语言中,怎么统计数组中相同元素的个数
时间: 2024-10-04 09:00:59 浏览: 87
在C语言中,为了统计数组中相同元素的个数,我们可以使用一个计数数组(也称为辅助数组或哈希数组)来存储原始数组中每个元素出现的次数。下面是一种常见的做法:
```c
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 10 // 假设你的数组大小
// 计算元素在给定数组中的频数
int countOccurrences(int arr[], int n, int key) {
int count = 0; // 初始化计数器
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
count++;
}
}
return count;
}
int main() {
int arr[ARRAY_SIZE] = {1, 2, 3, 2, 4, 2, 5, 2, 6, 7}; // 示例数组
int n = sizeof(arr) / sizeof(arr[0]);
printf("Array elements and their counts:\n");
for (int i = 0; i < ARRAY_SIZE; i++) {
int freq = countOccurrences(arr, n, i);
if (freq > 0) {
printf("Element %d appears %d times.\n", i, freq);
}
}
return 0;
}
```
这个程序会遍历整个数组,对于每个元素,它都会检查计数数组(这里是变量`count`)中对应位置的值。如果该值等于当前元素,则增加计数;结束后返回计数作为相同元素的个数。
阅读全文