题目描述
从键盘读入n个数(n<=1000),统计每个数出现的次数,从小到大输出每个出现过的数,及每个数出现的次数。
比如:假设从键盘读入6个数,分别是:1 6 8 1 2 6,那么输出如下:
1 2
2 1
6 2
8 1
输出含义为:1出现了2次,2出现了1次,6出现了2次,8出现了1次。
输入
第1行有一个整数n(n<=1000)
第2行有n个整数,数字之间用空格隔开,这n个是都是int范围内的数。
输出
输出若干行,每行2个数,第1个数是出现过的数,第2个数是该数出现的次数,要求从小到大输出每个数及每个数出现的次数。
样例输入
10
2 8 1 2 3 3 6 1 1 1000
样例输出
1 3
2 2
3 2
6 1
8 1
1000 1
#include<bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int n,x;
map<int,int>mp;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
mp[x]++;
}
for(auto i=mp.begin();i!=mp.end();i++){
cout<<i->first<<" "<<i->second<<endl;
}
return 0;
}