解题思路
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; }