安迪的第一个字典(Andy's First Dictionary,Uva 10815)

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

样例输入:

Adventures in Disneyland

Two blondes were going to Disneyland when they came to a fork in the

road. The sign read: 'Disneyland Left.'

So they went home.

样例输出(为了节约篇幅只保留前5行):

a

adventures

blondes

came

disneyland

#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
#include<set>
#include<sstream>
using namespace std;
set<string> dict;
int main()
{
	string str, buf;
	while(cin >> str)
	{
		for (int i = 0; i < str.length(); i++)
		{
			if (isalpha(str[i]))
				str[i] = tolower(str[i]);
			else
				str[i] = ' ';
		}
		stringstream ss(str);
		while (ss >> buf)
			dict.insert(buf);
	}
	for (set<string>::iterator it = dict.begin(); it != dict.end(); ++it)
		cout << *it << endl;
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43411988/article/details/85011104
今日推荐