1663: 【基础】统计每个数出现的次数(1740)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:33 解决:19

题目描述

从键盘读入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

提示

n=int(input())
ls=list(map(int,input().split()))
d={}
for i in range(n):
    d[ls[i]]=d.get(ls[i],0)+1
keys=sorted(d.keys())
for i in keys:
    print(i,d[i])


#include<bits/stdc++.h>
using namespace std;
int main(){
    map<int,int> m;
    int n,t;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>t;
        m[t]++;
    }
    map<int,int>::iterator it;
    for(it=m.begin();it!=m.end();it++){
        cout<<it->first<<" "<<it->second<<endl;
    }
}