问题:统计文本的行数、单词数、字符数。
单词定义:任何其中不包含空格、制表符或换行符的字符序列。
#include <stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c;
int nl,nw,nc;
int state = OUT;
nl = nw = nc =0;
while((c = getchar()) != EOF)
{
nc++;
if(c == '\n')
nl++;
if(c == ' '||c == '\t'||c == '\n')
{
state = OUT;
}
else if(state == OUT)//每当遇到单词的第一个字符,作为新单词计数
{
state = IN;
nw++;
}
}
printf("共%d行,%d个单词,%d个字符\n",nl,nw,nc);
return 0;
}