問題描述
給定公司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
代碼實現
#include<bits/stdc++.h>
/**************************************
數組下標代表年齡[0,50] ,其對應的值代表人數
**************************************/
int main()
{
int people[51] = {0}; //初始化爲0
int n, age;
scanf("%d", &n);
for(int i=0; i<n; ++i) {
scanf("%d", &age);
++people[age];
}
for(int i=0; i<51; ++i) {
if(people[i] > 0)
printf("%d:%d\n", i, people[i]);
}
return 0;
}