输入一段英文文章,将其中的单词按字典的顺序不重复的输出~
get:
1.isalpha(c)~判断是否为英文字符
2.tolower(c)~将字符转换成小写
3.字符串输入sstream
4.将字符串分割成单词:
stringstream temp(str); //分割成一个个单词
5.将字符串插入进set中,自动排序~
紫书代码:
#include <iostream>
#include <string>
#include <algorithm>
#include <set>
#include <sstream>
using namespace std;
int main()
{
string s, buf;
set<string>a;
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)
{
a.insert(buf);
}
}
for(set<string>::iterator it= a.begin();it!=a.end();it++)
{
cout<<*it<<endl;
}
return 0;
}