给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N(≤10 5 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。用c语言解决
时间: 2024-03-20 15:42:19 浏览: 53
好的,以下是用 C 语言解决该问题的代码:
```c
#include <stdio.h>
int main() {
int n, age, age_dict[51] = {0};
// 输入员工总人数
scanf("%d", &n);
// 统计每个工龄的员工数量
for (int i = 0; i < n; i++) {
scanf("%d", &age);
age_dict[age]++;
}
// 按工龄的递增顺序输出每个工龄的员工个数
for (int i = 0; i <= 50; i++) {
if (age_dict[i] != 0) {
printf("%d:%d\n", i, age_dict[i]);
}
}
return 0;
}
```
输入样例:
```
15
23 25 27 23 25 28 28 23 22 22 25 27 25 22 23
```
输出样例:
```
0:0
1:0
2:3
3:0
4:0
5:0
6:0
7:0
8:0
9:0
10:0
11:0
12:0
13:0
14:0
15:0
16:0
17:0
18:0
19:0
20:0
21:0
22:3
23:4
24:0
25:4
26:0
27:2
28:2
29:0
30:0
31:0
32:0
33:0
34:0
35:0
36:0
37:0
38:0
39:0
40:0
41:0
42:0
43:0
44:0
45:0
46:0
47:0
48:0
49:0
50:0
```