summaryrefslogtreecommitdiff
path: root/char_hist.c
diff options
context:
space:
mode:
Diffstat (limited to 'char_hist.c')
-rw-r--r--char_hist.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/char_hist.c b/char_hist.c
new file mode 100644
index 0000000..312df76
--- /dev/null
+++ b/char_hist.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);
+ }
+ }
+}