用C++统计每个数出现的次数

键盘输入10个整数,统计每个数出现的次数
如:8 2 3 2 5 6 8 2 0 5
则:
8:出现了2次
2:出现了3次
3:出现了1次
5:出现了2次
6:出现了1次
0:出现了1次
Input
输入10个整数
Output
输出每个数出现的次数,顺序以每个数出现的先后次序为准
Sample Input
8 2 3 2 5 6 8 2 0 5
Sample Output
8:2 2:3 3:1 5:2 6:1 0:1


#include <iostream>
using namespace std;
int main()
{
    int a[10];
    for(int i=0;i<10;i++){
        cin>>a[i];
    }
    int f[10]={0};
    for(int i=0;i<10;i++){
        if(f[i]==0){
            f[i]=1;
            int sum=1;
            for(int j=i+1;j<10;j++){
                if(a[j]==a[i]){
                    sum++;
                    f[j]=1;
                }
            }
            cout<<a[i]<<":"<<sum<<" ";
        }
    }
    return 0;
}

我自己写的。


 
#include<iostream>
using namespace std;
bool first(int j,int a,int arr[10])
{
    int num=0;
    while(num<j)
    {    
        if(a==arr[num])
    {    
    return 1;
    break;    
    }
        num++;
    }
    return 0;
}
 
int main()
{
    int arr[10];
    for(int i=0;i<10;i++)
    {
        cin>>arr[i];
    }
    for(int i=0;i<10;i++)
    {
        int count=0;
        for(int j=0;j<10;j++)
        {
            if(arr[j]==arr[i])
            {
                count++;
            }    
        }
        int x=first(i,arr[i],arr);
        if(x==0)
        {
            cout<<arr[i]<<":"<<count<<" ";
        }
    }
return 0;
}