统计每个数出现的次数

键盘输入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;
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;
}

你这个问题我想了五天才做出来,我的天。天天想天天想,终于被我做出来了。眼泪都要掉下来了。


 
#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;
}

这是我在csdn上问的,别人的回答,他也能做出来,而且更简洁。


 
#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++){
        
          
            int sum=1;
            for(int j=i+1;j<10;j++){
                if(a[j]==a[i]){
                    sum++;
                    f[j]=8;
                }
            }
            if(f[i]==0)
            {
                 cout<<a[i]<<":"<<sum<<" ";
            }
           
    }
    return 0;
}

他的版本这样写更容易懂。