Problem Description
根據人口普查結果,知道目前淄博市大約500萬人口,你的任務是幫助人口普查辦公室按年齡遞增的順序輸出每個年齡有多少人,其中不滿1週歲的按0歲計算,1到2週歲的按1歲計算,依次類推,大於等於100歲的老人全部按100歲計算。
Input
輸入第一行給出一個正整數N(<=5000000),隨後連續給出N個整數表示每個人的年齡,數字間以空格分隔。
Output
按年齡遞增的順序輸出每個年齡的人口數,人口數爲0的不輸出,每個年齡佔一行,數字間以一個空格分隔,行末不得有多餘空格或空行。
Sample Input
10
16 71 17 16 18 18 19 18 19 20
Sample Output
16 2
17 1
18 3
19 2
20 1
71 1
Hint
Source
xam
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int n;
int age;
int a[101];
memset(a, 0, sizeof(a));
scanf("%d", &n);
for (int i = 0; i < n; i++){
scanf("%d", &age);
if (age > 100){
a[100]++;
}
else{
a[age]++;
}
}
for (int i = 0; i < 101; i++){
if (a[i] > 0){
printf("%d %d\n", i, a[i]);
}
}
return 0;
}