您的位置:首页 > 编程语言 > C语言/C++

hdu 2072  单词数 - c++IO流 + set容器

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

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

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

Sample Input

you are my friend
#


Sample Output

4


解题思路
只用c很麻烦,这里利用c++流得概念,从流对象中依次提取一个字符串。因为要求不重复的单词,所以可以用set

代码
#include <iostream>
#include <cstdio>
#include <map>
#include <cmath>
#include <string.h>
#include <algorithm>
#include <set>
#include <sstream>
using namespace std;

const int maxn = 155;
const int INF = 0x3f3f3f3f;

int main()
{
string s;
set<string> st;
while(getline(cin,s)&& s!="#"){
st.clear();
stringstream ss;
ss<<s; ///从s读进ss
string tmp;
while(ss>>tmp){ ///从ss依次提取一个字符串
st.insert(tmp);
}
cout<<st.size()<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码 hdu