summaryrefslogtreecommitdiff
path: root/charhist.c
diff options
context:
space:
mode:
authorAdam Carpenter <53hornet@gmail.com>2019-05-14 11:40:11 -0400
committerAdam Carpenter <53hornet@gmail.com>2019-05-14 11:40:11 -0400
commite0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43 (patch)
treed24cf016b4996402e871e5d8da604a8e0e44b4fb /charhist.c
parent610018231b17e990e56396eaea4912f1b112e1f2 (diff)
downloadlearning-c-e0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43.tar.xz
learning-c-e0ac6e6a3c74f0e4d5936462eaae4d450fa3ed43.zip
Finished functions.
Diffstat (limited to 'charhist.c')
-rw-r--r--charhist.c30
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);
+ }
+ }
+}