输入格式:给出多个整数,即每个员工的年龄,范围在[0,50]。输出格式,按输入工龄顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。输入样例:10 2 0 5 7 2 5 2。输出样例:10:1 2:3 0:1 5:2 7:1
时间: 2023-11-28 20:48:54 浏览: 24
以下是Python3代码实现:
```python
ages = input().split()
count = {}
for age in ages:
count[age] = count.get(age, 0) + 1
for age in sorted(count.keys()):
print(f"{age}:{count[age]}")
```
输入样例:
```
10 2 0 5 7 2 5 2
```
输出样例:
```
0:1
2:3
5:2
7:1
10:1
```
相关问题
给定公司多名员工的工龄,按输入工龄顺序输出每个工龄段有多少员工。 输入格式: 给出多个整数,即每个员工的工龄,范围在[0, 50]。
这道题可以使用桶排序的思想来解决,具体实现如下:
```python
ages = input().split() # 输入多个整数,用空格分隔
count = [0] * 51 # 初始化桶,下标为工龄,值为该工龄的员工人数
# 统计每个工龄的员工人数
for age in ages:
count[int(age)] += 1
# 输出每个工龄段的员工人数
for i in range(51):
if count[i] > 0:
print('{}:{}人'.format(i, count[i]))
```
其中,`count` 列表用来记录每个工龄的员工人数。遍历输入的每个工龄,将对应的桶加 1。最后遍历桶,输出每个工龄段的员工人数。
注意,由于工龄范围在 [0, 50],因此桶的长度应该为 51,这样才能记录所有工龄的员工人数。
给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N(≤10 5 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。用c语言解决
好的,以下是用 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
```