字符串分割单词+set插入元素从小大排序,string类型已经定义’<‘运算符。
#include <cstdio>
#include <cstring>
#include <set>
#include <string>
#include <iostream>
using namespace std;
const int MAXN = 200 + 10;
char s[MAXN];
int main() {
set<string> t;
while (fgets(s, MAXN, stdin)) { // 读取每行
int len = strlen(s);
for (int i = 0; i < len; ) {
int cnt = i;
string tmp;
bool ok = false;
while (isalpha(s[cnt])) { // 如果是单词
tmp += tolower(s[cnt]);
ok = true;
cnt++;
}
if (ok) {
t.insert(tmp); // 插入单词
i = cnt;
} else {
i++;
}
}
}
set<string>::iterator it = t.begin();
for (; it != t.end(); ++it) {
cout << *it << endl;
}
return 0;
}