UVA 10815 Andy's First Dictionary

在刷书上的题!这道题基本上和作者的答案差不多,不过就是在插入操作那里我有点问题!百思不得其解!看答案发现用了stringstream,然后才算把这道题解决!
#include <iostream>
#include <set>
#include <string>
#include <cctype>
#include <sstream>
using namespace std;
int main()
{
	string tmp1,tmp2;
	set<string> s1;
	while(cin>>tmp1)
	{
		int lenth=tmp1.size();
		for(int i=0;i<lenth;++i)
		{
			if(isalpha(tmp1[i]))
				tmp1[i]=tolower(tmp1[i]);
			else
				tmp1[i]=' ';
		}
        stringstream str(tmp1);
        while(str>>tmp2)
		  s1.insert(tmp2);
	}
	for(set<string>::iterator it=s1.begin();it!=s1.end();++it)
		cout<<*it<<endl;
	return 0;
}

你可能感兴趣的:(STL,uva)