diff options
Diffstat (limited to 'src/c/exercise1/count.c')
-rw-r--r-- | src/c/exercise1/count.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/c/exercise1/count.c b/src/c/exercise1/count.c new file mode 100644 index 0000000..385fb71 --- /dev/null +++ b/src/c/exercise1/count.c @@ -0,0 +1,33 @@ +#include <stdio.h> + +int +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(", white space = %d, other = %d\n", + nwhite, nother); + + return 0; +} + |