单词数
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 92 Accepted Submission(s) : 33
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
Author
Source
浙江工业大学网络选拔赛
用used[]记录已有的单词
每次检测单词要与 used[]里的单词 比较
如果有就不 不加 没有就进词库 ;
#include<iostream> #include<string> using namespace std; int main() { char word[200]; while(gets(word)) { if(word[0]=='#') break; int lword=strlen(word);//串长度 int number=0;//记录单词数; string used[100];//记录已有的单词; for(int i=0;i<lword;i++) { string now; if(word[i]>='a'&&word[i]<='z') { for(int j=i;word[j]!=' '&&j<lword;j++)//从i开始记录单词; { int k; string asd; asd=word[j]; k=now.length(); now.insert(k,asd); } i=j; //判断单词是否存在 if(number==0) { used[number]=now; number++; } else { int kk=0; for(kk;kk<number;kk++) { if(used[kk]==now) break; } if(kk==number) { used[number]=now; number++; } } } } printf("%d ",number); } }