用C语言写一个算法用于统计一个数组中各元素的出现次数
时间: 2023-12-29 12:51:43 浏览: 68
以下是用C语言写的一个算法用于统计一个数组中各元素的出现次数:
```c
#include <stdio.h>
void count(int arr[], int size) {
int i, j, unique[size], freq[size], count = 0;
// Loop through the array and find unique elements
for (i = 0; i < size; i++) {
int isUnique = 1;
for (j = 0; j < count; j++) {
if (arr[i] == unique[j]) {
isUnique = 0;
freq[j]++;
break;
}
}
if (isUnique) {
unique[count] = arr[i];
freq[count] = 1;
count++;
}
}
// Print the frequency of each element
for (i = 0; i < count; i++) {
printf("%d occurs %d times\n", unique[i], freq[i]);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 3, 2, 1, 1, 5};
int size = sizeof(arr) / sizeof(arr[0]);
count(arr, size);
return 0;
}
```
该算法首先创建两个数组:一个用于存储唯一的元素,另一个用于存储每个元素的出现次数。然后,它循环遍历数组,找到唯一的元素并将其存储在unique数组中。如果元素已经存在于unique数组中,则增加对应的频率。最后,算法循环遍历unique数组并打印每个元素的频率。在主函数中,我们传递一个整数数组和数组的大小给count函数来运行该算法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)