解题思路:因为有年龄段限制,所以可以以年龄段作为一个数列,下标即为年龄,值为年龄的个数。 为了提高效率,可以设置一个max值,这个值是最大年龄,在输入的时候进行记录,最后输出的时候 如果到了max,max之后的就没有必要输出了,都是0. #includeint main() { int N, b[51]={0}, max = 0, k; scanf("%d", &N); for(int i = 0; i < N; i++) { scanf("%d", &k); b[k]++; if(k > max) max = k; } for(int i =0; i < 51; i++) { if(b[i] != 0) { if(i == max) { printf("%d:%d",i,b[i]); break; } else printf("%d:%dn",i,b[i]); } } return 0; }



