分析:这个题其实是非常水的,但是作为渣滓的我还是从中收获了很多新知识,比如学会了一点<set>的使用,而且知
道了在<set>中原来会自动按从小到大的顺序排序。知道了这些,这个题就简单了,只需读入,之后再用迭代器访问挨
着输就行了
另外,这个题需转换成小写字母,之后再用
stringstream ss(s);
while (ss>>buf) dict.insert(buf);插入就行了
关于stringstream ss(s),我也无法解释非常清楚,可以请教一下大神们
另外,这个题需转换成小写字母,之后再用
stringstream ss(s);
while (ss>>buf) dict.insert(buf);插入就行了
关于stringstream ss(s),我也无法解释非常清楚,可以请教一下大神们
代码如下:
#include <cstdio>
#include <cstring>
#include <set>
#include <iostream>
#include <sstream>
using namespace std;
set<string> dict;
int main()
{
string s,buf;
while (cin>>s)
{
for (int i=0;i<s.length();i++)
if (isalpha(s[i])) s[i]=tolower(s[i]);
else s[i]=' ';
stringstream ss(s);
while (ss>>buf) dict.insert(buf);
}
set <string> ::iterator it;
for (it=dict.begin();it!=dict.end();it++)
cout<<*it<<endl;
return 0;
}
本文介绍了一个简单的程序设计问题解决方法,通过使用C++标准库中的set来自动排序并存储唯一单词。文章详细解释了如何将输入字符串转换为小写,并使用stringstream进行分割,最后将单词插入set中实现去重。
187

被折叠的 条评论
为什么被折叠?



