计算数组各元素的出现次数

C语言中如何计算一个数组中各元素的出现次数?最好能把这些次数放到另一个数组中。提前感谢各位帮忙!!

这个题目需要确定数据的具体范围,才能写,
 
假设数组是一个整型数组,其元素范围只有0-9,那么,代码可以这样写:

/** arithmeticCount.c -- 计算数据在数组中的出现次数 */
#include <stdio.h>

int main(void)
{
    // 初始化定义数组 number 存储整数,arr 计算数据出现的次数
    int number[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 0, 1, 2, 0, 1, 2, 5, 6, 7, 8, };
    int arr[10] = {0};
    
    int length = sizeof(number) / sizeof(number[0]);
    int i;
    // 循环遍历进行累加
    for (i = 0; i < length; i++)
    {
        arr[number[i]]++;
    }
    // 打印并输出统计结果
    for (i = 0; i < 10; i++)
    {
        printf("数字 %d 的出现次数为 %d\n", i, arr[i]);
    }
}

这是输出

img