统计不同单词数-set集合容器

lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

Input

有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。

Output

每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

Sample Input

you are my friend
#

Sample Output

4

题解:首先,了解知识

例如:a bb       cccccc

变成这样

a

bb

cccccc

ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件

istringstream类用于执行C++风格的串流的输入操作。 
ostringstream类用于执行C风格的串流的输出操作。 
strstream类同时可以支持C风格的串流的输入输出操作

这一题中用istringstream和stringstream都可以

采用inset()把元素插入,默认从小到大。

代码如下

Select Code


#include
#include
#include
#include
using namespace std;
int main()
{
    string str1;
    while(getline(cin,str1))
    {
        if(str1[0]=='#')
            break;
        istringstream stream(str1);
        setq;
        string str2;
        while(stream>>str2)
        {
            q.insert(str2);
        }
        cout<

你可能感兴趣的:(题解)