单词数

单词数

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

Lily

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\n",number);




    
    
    }





}

 

posted @ 2013-08-16 19:13  一只蚊子  阅读(184)  评论(0编辑  收藏  举报