Luoyoooo

与其感慨路难行,不如马上出发

[Hash散列]7-1 统计工龄 (15分)

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。

输入格式:

输入首先给出正整数N(N≤105),即员工总人数;随后给出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 }
posted @ 2020-01-19 21:43  Luoyoooo  阅读(323)  评论(0编辑  收藏  举报