Blame


1 5dc21454 2023-07-14 jrmu #include <stdio.h>
2 5dc21454 2023-07-14 jrmu
3 5dc21454 2023-07-14 jrmu #define IN 1 /* inside a word */
4 5dc21454 2023-07-14 jrmu #define OUT 0 /* outside a word */
5 5dc21454 2023-07-14 jrmu
6 5dc21454 2023-07-14 jrmu /* count lines, words, and characters in input */
7 5dc21454 2023-07-14 jrmu main()
8 5dc21454 2023-07-14 jrmu {
9 5dc21454 2023-07-14 jrmu int c, nl, nw, nc, state;
10 5dc21454 2023-07-14 jrmu
11 5dc21454 2023-07-14 jrmu state = OUT;
12 5dc21454 2023-07-14 jrmu nl = nw = nc = 0;
13 5dc21454 2023-07-14 jrmu while ((c = getchar()) != EOF) {
14 5dc21454 2023-07-14 jrmu ++nc;
15 5dc21454 2023-07-14 jrmu if (c == '\n')
16 5dc21454 2023-07-14 jrmu ++nl;
17 5dc21454 2023-07-14 jrmu if (c == ' ' || c == '\n' || c == '\t')
18 5dc21454 2023-07-14 jrmu state = OUT;
19 5dc21454 2023-07-14 jrmu else if (state == OUT) {
20 5dc21454 2023-07-14 jrmu state = IN;
21 5dc21454 2023-07-14 jrmu ++nw;
22 5dc21454 2023-07-14 jrmu }
23 5dc21454 2023-07-14 jrmu }
24 5dc21454 2023-07-14 jrmu printf("%d %d %d\n", nl, nw, nc);
25 5dc21454 2023-07-14 jrmu }