1、编写一个统计单词数量的程序,同时还可以统计字符数和行数。
选用一个文本中不常用的字符(如,|)作为输入的末尾标记。
a、统计行数,程序要检查换行字符。
b、将一个单词定义为一个不含空白(即,没有空格、制表符或换行符)的字符序列。
当程序读到的第一个非空白字符即是一个单词的开始,当读到空白字符时,结束。
c、查找一个单词是否有某个字符,可以在程序读入单词的首字符时把一个标记
(记为inword)设置为1,也可以在此时递增单词计数。然后只要inword为1(或true),
后续的非空白字符都不记为单词的开始。下一个空白字符,重置inword为0(或false),
然后程序就准备好读取下一个单词。
d、在每次读到单词的开头时把inword设置为1(真),在读到每个单词的末尾时把inword设置
为0(假)。只有在标记从0设置为1时,递增单词计数。
伪代码:
如果c不是空白字符,且inword为假
设置inword为真,并给单词计数
如果c是空白字符,且inword为真
设置inword为假
#include <stdio.h>
#include <ctype.h> //为isspace()函数提供原型
#include <stdbool.h> //为bool、true、false提供定义
#define STOP '|'
int main(void)
{
char c; //读入字符
char prev; //读入的前一个字符
long n_chars = 0L; //字符