【C语言练习题】分词统计

举报
王建峰 发表于 2021/11/19 03:26:40 2021/11/19
【摘要】 《C和指针》 练习题9.14   问题 编写一个程序,对标准输入进行扫描,并对单词“the”出现的次数进行计数。进行比较时应该区分大小写,所以“The”和“THE”并不计算在内。你可以认为各单词由一个或多个空格字符分隔,而且输入行在长度上不会超过100个字符。计数结果应该写到标准输出上。   思路 程序从...

《C和指针》 练习题9.14

 

问题

编写一个程序,对标准输入进行扫描,并对单词“the”出现的次数进行计数。进行比较时应该区分大小写,所以“The”和“THE”并不计算在内。你可以认为各单词由一个或多个空格字符分隔,而且输入行在长度上不会超过100个字符。计数结果应该写到标准输出上。

 

思路

程序从标准输入中读入一串字符,然后使用库函数stoken对句子进行分词处理,遍历每一个单词并统计"the"出现的次数,最后打印输出。

输入:用户输入一串英文

处理:对句子进行分词处理,统计关键词出现的次数

输出:打印统计的结果

 

代码


  
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define N 100
  4. void scan_key( char *line, char const *key );
  5. void main(void)
  6. {
  7. char string[N] = {0};
  8. printf("please input >>");
  9. scanf("%s",string);
  10. scan_key( string, "the" );
  11. }
  12. void scan_key( char *line, char const *key )
  13. {
  14. char *token = NULL;
  15. unsigned int count = 0;
  16. for( token = strtok( line, " " ); token != NULL; token = strtok( NULL, " " ) )
  17. {//分词统计 ; 空格是分隔符
  18. if( 0 == strcmp( token, key ) ) count++;
  19. }
  20. printf("sum:%d\n",count);
  21. }

PS:stoken函数将字符串分割成多个单独的部分,按照指定的标记(分隔符)进行分割。每次分割后,标记符用'NUL'覆盖。

 

展示

文章来源: blog.csdn.net,作者:hinzer,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/feit2417/article/details/85754427

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。