标题:统计不同单词个数
只看楼主
汉考克
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-4
结帖率:0
已结贴  问题点数:20 回复次数:5 
统计不同单词个数
问题描述
  编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。
  说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(3)不用考虑单词的大小写,假设输入的都是小写字符;(4)句子长度不超过100个字符。
  输入格式:输入只有一行,即一个英文句子。
  输出格式:输出只有一行,是一个整数,表示句子中不同单词的个数。
  输入输出样例
样例输入
one little two little three little boys
样例输出
5
搜索更多相关主题的帖子: 单词 英文句子 little 
2012-12-04 23:32
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
得分:5 
哎 我们oj有个差不多的题,不过有标点,样例有个是moop...Moop...貌似是个老题了,同求解。。。
2012-12-05 00:44
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
得分:5 
给你一个思路,过程自己写;
1   循环遍历,两个变量分别标记每个单词的头和尾位置,遇到空格就保存一个单词到数组(指针数组),遇到'\0'就保存一个单词到数组并退出循环
2   循环比较单词是否相同,不同计数加1,相同计数不加

小小战士,战士中的战斗机!
2012-12-05 03:36
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:5 
1、找出所有单词
char a[100],b[20][20];
gets(a);
for(int i=0;i!='\0';i++)
{
    b[i]=a[i];
}
只是给个大概的思路,不完整啊,你自己在补充了,毕竟自己思考才能学好
2、找出就比较是否想同了,用strcmp(a1,a2);
2012-12-05 09:35
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
得分:5 
刚试了下 用strtok 分割单词,然后遍历统计不同个数,可行,代码自己去写写吧
2012-12-05 10:18
汉考克
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-4
得分:0 
以下是引用小小战士在2012-12-5 03:36:28的发言:

给你一个思路,过程自己写;
1   循环遍历,两个变量分别标记每个单词的头和尾位置,遇到空格就保存一个单词到数组(指针数组),遇到'\0'就保存一个单词到数组并退出循环
2   循环比较单词是否相同,不同计数加1,相同计数不加
谢谢
2012-12-05 23:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389616-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.260191 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved