J - Andy's First Dictionary

输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写;


#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main()
{
    setdict;
    string str;//freopen("1.txt","r",stdin);
    while(cin>>str)
    {
        for(int i=0;i<(int)str.length();i++)
            if(isalpha(str[i]))str[i]=tolower(str[i]);else str[i]=' ';//判断是否是字母,是字母一律小写化(tolower()),不是字母就变成空格;

        string st;stringstream ss(str);//stringstream能一遇到str里的空格就将str分割;如果str里没有非字母字符(会转化为空格)就可以不用这个;
            while(ss>>st)dict.insert(st);

    }
    for(set::iterator it=dict.begin();it!=dict.end();++it)
            cout<<*it<


你可能感兴趣的:(STL)