[Hash散列]7-1 统计工龄 (15分)
给定公司 N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数 N (N≤10 5 ),即员工总人数;随后给出 N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。 输入样例: 8 10 2 0 5 7 2 5 2 输出样例: 0:1 2:3 5:2 7:1 10:1 思路:哈希散列存进一维数组,然后就输出吧! 1 #include<iostream> 2 #include<string> 3 #define N 51 4 using namespace std; 5 int main() 6 { 7 int n,tmp,a[N]={0}; 8 cin>>n; 9 for(int i=0;i<n;i++) 10 { 11 cin>>tmp; 12 a[tmp]++; 13 } 14 for(int k=0;k<=N;k++) 15 { 16 if(a[k]!=0) 17 printf("%d:%d\n",k,a[k]); 18 } 19 return 0; 20 } 来源: https://www.cnblogs.com/luoyoooo/p/12215700.html