算法入门经典:安迪的第一个字典

xiaoxiao2021-02-28  85

安迪的第一个字典(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. 样例输出:(省略一部分) a adventures blondes came disneyland fork going home 附上代码: //P112 8.6 //安迪的第一个字典 #include <iostream> #include <string> #include <set> #include <sstream> using namespace std; set <string> dict; //string集合 int main() { string s, buf; 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) dict.insert(buf); } for(set<string>::iterator it = dict.begin(); it != dict.end(); ++it) cout<< *it<<endl; return 0; } 发现一篇介绍string和stringstream的博文,大家可以看看。
转载请注明原文地址: https://www.6miu.com/read-64054.html

最新回复(0)