31 lines
485 B
C
31 lines
485 B
C
#include <stdio.h>
|
|
|
|
#define IN 1
|
|
#define OUT 0
|
|
|
|
// counting words from getstream,
|
|
// doesn't work with backspace
|
|
// (by design)
|
|
|
|
main()
|
|
{
|
|
int c, nl, nw, nc, state;
|
|
nl = nw = nc = 0;
|
|
while ((c = getchar()) != EOF)
|
|
{
|
|
++nc;
|
|
// We do not handle \b, so words count get messed up if we erase anything
|
|
if (c == '\n')
|
|
++nl;
|
|
if (c == ' ' || c == '\n' || c == '\t')
|
|
state = OUT;
|
|
else if (state == OUT)
|
|
{
|
|
state = IN;
|
|
++nw;
|
|
}
|
|
}
|
|
printf("%d %d %d\n", nl, nw, nc);
|
|
}
|
|
|