40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int icmp(const void *a, const void *b)
|
|
{
|
|
return *(const int*)a < *(const int*)b ? -1 : *(const int*)a > *(const int*)b;
|
|
}
|
|
|
|
void leaf_plot(int *x, int len)
|
|
{
|
|
int i, j, d;
|
|
|
|
qsort(x, len, sizeof(int), icmp);
|
|
|
|
i = x[0] / 10 - 1;
|
|
for (j = 0; j < len; j++) {
|
|
d = x[j] / 10;
|
|
while (d > i) printf("%s%3d |", j ? "\n" : "", ++i);
|
|
printf(" %d", x[j] % 10);
|
|
}
|
|
}
|
|
|
|
int main()
|
|
{
|
|
int data[] = {
|
|
12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124,
|
|
37, 48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123,
|
|
35, 113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105,
|
|
99, 41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58,
|
|
114, 126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43,
|
|
117, 116, 27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118,
|
|
117, 38, 27, 106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122,
|
|
109, 124, 115, 43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114,
|
|
34, 133, 45, 120, 30, 127, 31, 116, 146 };
|
|
|
|
leaf_plot(data, sizeof(data)/sizeof(data[0]));
|
|
|
|
return 0;
|
|
}
|