diff options
author | Adam Carpenter <53hornet@gmail.com> | 2019-05-14 11:40:11 -0400 |
---|---|---|
committer | Adam Carpenter <53hornet@gmail.com> | 2019-05-14 11:40:11 -0400 |
commit | e0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43 (patch) | |
tree | d24cf016b4996402e871e5d8da604a8e0e44b4fb /charhist.c | |
parent | 610018231b17e990e56396eaea4912f1b112e1f2 (diff) | |
download | learning-c-e0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43.tar.xz learning-c-e0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43.zip |
Finished functions.
Diffstat (limited to 'charhist.c')
-rw-r--r-- | charhist.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/charhist.c b/charhist.c new file mode 100644 index 0000000..312df76 --- /dev/null +++ b/charhist.c @@ -0,0 +1,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); + } + } +} |