例题5-3 安迪的第一个字典(Andy's First Dictionary,UVa 10815)

原题链接:https://vjudge.net/problem/UVA-10815
分类:<set>
备注:set的使用
前言:在这里第一次看到STL的迭代器。

注意:题目可能一次性输入多个单词但是间隔这些单词的不是空格而是其它字符。

代码如下:

#include<iostream>
#include<sstream>
#include<string>
#include<cctype>
#include<set>
using namespace std;
int main(void)
{
	string s;
	set<string>dict;
	while (cin >> s)
	{
		for (int i = 0; i < s.length(); i++)
			if (!isalpha(s[i]))s[i] = ' ';
			else s[i] = tolower(s[i]);
		stringstream ss(s);
		while (ss >> s)if (!dict.count(s))dict.insert(s);
	}
	for (set<string>::iterator it = dict.begin(); it != dict.end(); ++it)
		cout << *it << "\n";
	return 0;
}

版权声明:本文为TK_wang_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。