解题思路

1.获取输入n
2.依次获取每个自然数,存放在a[n]中
3.数组a排序
4.统计数字次数:
如果a[i]==a[i+1],次数+1
否则(说明a[i]是当前数字出现的最后一次),输出a[i]和当前次数,然后将次数重置为1

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[n];
    int count=1;//出现次数,初始为1
    //依次获取n个自然数
    for (int i = 0; i < n; ++i)
    {
        cin>>a[i];
    }
    //排序
    sort(a,a+n);
    //统计数字次数
    for (int i = 0; i < n; ++i)
    {
        if (a[i]==a[i+1])
        {
            count++;
        }
        else
        {
            cout<<a[i]<<" "<<count<<endl;
            count=1;
        }
    }
    return 0;
}