C语言实现:统计文本中指定单词出现的次数
C语言实现:统计文本中指定单词出现的次数
本文将介绍如何使用C语言编写一个程序,用于统计给定文本中指定单词的出现次数。
问题描述
编写一个程序,读取一个单词W和一个文本T,并打印文本T中出现的单词W的数量。
输入:
- 第一行:单词W* 以下几行:文本T,由空格字符和换行符分隔,以'END_OF_TEXT'字符串结尾
输出:
- 文本T中单词W的数量
数据范围:
- W的长度 ≤ 10* W由小写字母组成* 每一行中T的长度 ≤ 1000
输入样例:
computerNurtures computer scientists and highly skilled computer engineerswho will create and exploit knowledge for the new eraProvides an outstanding computer environmentEND_OF_TEXT
输出样例:
3
C语言代码实现c#include <stdio.h>#include <string.h>#include <ctype.h>
int main() { char word[11]; scanf('%s', word);
char text[1001]; int count = 0;
while (scanf('%s', text) != EOF) { if (strcmp(text, 'END_OF_TEXT') == 0) { break; }
// 将单词和文本都转换为小写字母 for (int i = 0; i < strlen(word); i++) { word[i] = tolower(word[i]); }
for (int i = 0; i < strlen(text); i++) { text[i] = tolower(text[i]); }
// 判断单词是否与文本中的某个单词相等 if (strcmp(word, text) == 0) { count++; } }
printf('%d
', count);
return 0;}
代码解释
- 程序首先读取用户输入的单词W。2. 定义一个字符数组
text存储文本T的每个单词,并初始化计数器count为0。3. 使用while循环逐个读取文本T中的单词,直到遇到'END_OF_TEXT'。4. 在循环内,程序将读取到的单词和目标单词W都转换为小写字母,以便进行大小写不敏感的比较。5. 使用strcmp函数比较转换后的单词是否相等。如果相等,则计数器count加1。6. 循环结束后,程序打印计数器count的值,即单词W在文本T中出现的次数。
总结
本文介绍了如何使用C语言编写程序来统计文本中指定单词出现的次数。该程序简单易懂,适合初学者学习字符串处理和单词计数的实现方法。
原文地址: https://www.cveoy.top/t/topic/bwMa 著作权归作者所有。请勿转载和采集!