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