题目描述
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
程序输入说明
输入包含n+1行:
第1行是整数n,表示自然数的个数。
第2~n+1行每行一个自然数。
第1行是整数n,表示自然数的个数。
第2~n+1行每行一个自然数。
程序输出说明
输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
程序输入样例
8 2 4 2 4 5 100 2 100
程序输出样例
2 3 4 2 5 1 100 2
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 using namespace std; 6 7 int count = 0; 8 int b[10005],c[10005]; 9 10 int main(){ 11 int n; 12 cin>>n; 13 int a[n]; 14 for( int i = 0; i < n; i++ ) 15 cin>>a[i]; 16 sort(a,a+n); 17 int j = 0,k = 0; 18 for( int i = 0; i < n; i++ ){ 19 if( a[i] == a[i+1] ) 20 b[j]++; 21 if( a[i] != a[i+1] ){ 22 c[k++] = a[i]; 23 j++; 24 } 25 } 26 for( int i = 0; i < k; i++ ){ 27 cout<<c[i]<<" "<<b[i]+1<<endl; 28 } 29 return 0; 30 }