题意:把给出的数从小到大输出一遍。
题解:数很多但范围小,可以用计数排序,m[i]存数字i的数量。
#include <stdio.h>
#include <string.h>
const int N = 105;
int m[N], n;
int main() {
while (scanf("%d", &n) && n) {
memset(m, 0, sizeof(m));
int a, flag = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &a);
m[a]++;
}
for (int i = 1; i <= 100; i++)
while (m[i]) {
if (flag)
printf(" %d", i);
else {
flag = 1;
printf("%d", i);
}
m[i]--;
}
printf("\n");
}
return 0;
}