From 39c0cbcc70aff47e17107826aa76cb525c83b122 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 9 Jul 2019 16:00:48 -0400 Subject: ch2 --- ch1/num_digits.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ch1/num_digits.c (limited to 'ch1/num_digits.c') diff --git a/ch1/num_digits.c b/ch1/num_digits.c new file mode 100644 index 0000000..c25fc29 --- /dev/null +++ b/ch1/num_digits.c @@ -0,0 +1,29 @@ +#include + +/* + * Count digits, whitespace, and other characters. + */ +main() { + int c, i, nwhite, nother; + int ndigit[10]; + + nwhite = nother = 0; + + for (i = 0; i < 10; ++i) + ndigit[i] = 0; + + while ((c = getchar()) != EOF) + if (c >= '0' && c <= '9') + ++ndigit[c - '0']; + else if (c == ' ' || c == '\n' || c == '\t') + ++nwhite; + else + ++nother; + + printf("digits ="); + + for (i = 0; i < 10; ++i) + printf(" %d", ndigit[i]); + printf(", whitespace = %d, other = %d\n", + nwhite, nother); +} -- cgit v1.2.3