summaryrefslogtreecommitdiff
path: root/char_hist.c
blob: 312df76c2c3ef27c35e64261082d356312883ab6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>

#define CHARSET_LENGTH 128;

/*
 * Prints a histogram of the lengths of words in its input.
 */
main() {
    int c, i;
    int count;
    int length = CHARSET_LENGTH;
    int c_counts[length];

    for (i = 0; i < length; ++i) {
        c_counts[i] = 0;
    }

    while ((c = getchar()) != EOF) {
        ++c_counts[c];
    }

    for (i = 0; i < length; ++i) {
        count = c_counts[i];

        if (count > 0 && (i != ' ' && i != '\t' && i != '\n' )) {
            printf("%c\t", i);
            printf("%d\n", count);
        }
    }
}