10-排序4 统计工龄   (20分)

来源:互联网 发布:dhcp 端口号 编辑:程序博客网 时间:2024/06/08 14:34

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

输入格式:

输入首先给出正整数NN≤10510^5),即员工总人数;随后给出NN个整数,即每个员工的工龄,范围在[0, 50]。

输出格式:

按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。

输入样例:

810 2 0 5 7 2 5 2

输出样例:

0:12:35:27:110:1


解析:桶排序的简单版,用数组模拟桶

#include <stdlib.h>#include <stdio.h>#define BucketNumber 51int main () {int N, A, Bucket[BucketNumber] = {0};scanf("%d", &N);for ( int i = 0; i < N; i++ ) {scanf("%d", &A);Bucket[A]++;}for ( int i = 0; i < BucketNumber; i++ )if ( Bucket[i] != 0 )printf("%d:%d\n", i, Bucket[i]);system("pause");return 0;}



0 0