#include #define IN 1 /* inside a word */ #define OUT 0 /* outside a word */ /* print a histogram of word lengths */ int main() { int c, i, j, nc, state; int nlen[10]; for (i = 0; i < 10; ++i) nlen[i] = 0; nc = 0; state = OUT; while ((c = getchar()) != EOF) { if (c == ' ' || c == '\n' || c == '\t') { if (state == IN) { i = nc - 1; if (i > 9) i = 9; ++nlen[i]; nc = 0; } state = OUT; } else if (state == OUT) { state = IN; } if (state == IN) ++nc; } if (state == IN) { i = nc - 1; if (i > 9) i = 9; ++nlen[i]; nc = 0; } for (i = 0; i < 10; ++i) { if (i == 9) printf(" >9: "); else printf(" %2d: ", i + 1); for (j = 0; j < nlen[i]; ++j) putchar('#'); putchar('\n'); } }