RE求助
查看原帖
RE求助
291358
Micro_Seven楼主2021/6/2 21:16

code:

#include <cstdio>
#include <cctype>
#include <set>
#include <string>
#include <cstring>
using namespace std;

string word;
set<string> s;

int main()
{
    while (word.resize(5010), scanf("%s", &word[0]) != EOF) //循环输入
    {
        word.resize(strlen(&word[0])); //砍掉多余的长度

        for (auto &i : word)
            i = tolower(i); //全部转小写

        while (!isalpha(word[0])) 
            word.erase(word.begin()); //把单词前多余的非字母内容去掉
        while (!isalpha(word.back()))
            word.erase(word.end() - 1); //把单词后多余的非字母内容去掉

        s.insert(word); //扔进集合,去重
    }

    for (auto &i : s)
        printf("%s\n", i.c_str()); //输出去重后的结果

    return 0;
}
2021/6/2 21:16
加载中...