侧边栏
首页代码

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

#include<bits/stdc++.h>
using namespace std;
set<string> dict;
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(auto it = dict.begin();it != dict.end();it++)
cout << *it << endl;
}

while(cin >> s) 一个个字符的从屏幕中读入s1

然后for循环遍历s1 每一个大写的字母都变成小写(利用tolower函数) “ : 之类的符号就变成空格 不然就把符号也输出来了

然后定义一个stringstream ss(s) 自动让s流入   再让ss 流入string buf中 这样达到一个一个单词输入的目的 每输入一个单词就把那个单词insert到set里面

由于set会自动按照字符序排号 所以利用迭代器输出set即可

posted @ 2020-10-16 22:26  AlexStraightUp  阅读(79)  评论(0)    收藏  举报
页脚HTML代码