diff options
author | zlg <zlg@zlg.space> | 2013-02-13 20:48:44 -0600 |
---|---|---|
committer | zlg <zlg@zlg.space> | 2013-02-13 20:48:44 -0600 |
commit | 5018e06c580dd21c958ec1672c26a3448faf0c55 (patch) | |
tree | cebbb56dad0a6b821cad3712c7977f6f9b0086ab /1-12_one-word-per-line.c | |
parent | Fix 1-09's solution (diff) | |
download | knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.gz knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.bz2 knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.xz knr-5018e06c580dd21c958ec1672c26a3448faf0c55.zip |
Add license file, reorganize project
Diffstat (limited to '1-12_one-word-per-line.c')
-rw-r--r-- | 1-12_one-word-per-line.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/1-12_one-word-per-line.c b/1-12_one-word-per-line.c deleted file mode 100644 index 29a38df..0000000 --- a/1-12_one-word-per-line.c +++ /dev/null @@ -1,41 +0,0 @@ -#include <stdio.h> - -/* The C Programming Language, 2nd Edition - * - * Exercise 1-12: Write a program that prints its input one word per line. - * - * Answer: Be sure to output letters when you're in a word, and a newline when - * you're out of one. - */ - -#define IN 1 -#define OUT 0 - -int main(void) { - int c, nl, nw, nc, state; - state = OUT; - nl = nw = nc = 0; - - while ((c = getchar()) != EOF) { - nc++; - if (c == '\n') { - nl++; - } - if (c == ' ' || c == '\n' || c == '\t') { - if (state == IN) { - state = OUT; - putchar('\n'); - } - } else if (state == OUT) { - state = IN; - nw++; - } - if (state == IN) { - putchar(c); - } - } - - printf("%d %d %d\n", nl, nw, nc); - - return 0; -} |