C语言统计输入的单词的个数
编写一个程序,对标准输入进行扫描,并对单词“the”出现的次数进行计数。进行比较时应该区分大小写,所以“The”和“THE”并不计算在内。你可以认为各单词由一个或多个空格字符分隔,而且输入行在长度上不会超过100个字符。 计数结果应该写到标准输出上。
声明—个长度为101个字节的缓冲区数组,用于保存100个字节的输入和NUL终止符。strtok 函数用于逐个提取单词。
声明—个长度为101个字节的缓冲区数组,用于保存100个字节的输入和NUL终止符。strtok 函数用于逐个提取单词。
// 计算标准输入中单词“the”出现的次数。字母是区分大小写的,输入中的单词由一个或多次空白字符分隔。 #include <stdio.h> #include <string.h> #include <stdlib.h> char const whitespace[] = " \n\r\f\t\v"; int main () { char buffer[101]; int count; char *word; count = 0; // 读入文本行,直到发现EOF while( gets(buffer) ) { // 从缓冲区逐个提取单词,直到缓冲区内不再有单词。 for( word = strtok ( buffer, whitespace ); word != NULL; word = strtok( NULL, whitespace ) ){ if( strcmp( word, "the" ) == 0 ) count += 1; } } printf("%d\n", count); return EXIT_SUCCESS; }