【发布时间】:2019-03-28 15:13:20
【问题描述】:
我正在开发一个程序来根据字母表的 ASCII 顺序组合两个字符串,并删除所有重复的字母。到目前为止我有
#include <iostream>
using namespace std;
int main() {
string s1, s2;
string combined;
while (true) {
cin >> s1 >> s2;
if (s1 == "quit" && s2 == "quit") break;
cout << "Read " << "\"" << s1 << "\"" << " and " << "\"" << s2 << "\" -> ";
combined = s1+s2;
cout << combined << endl;
}
cout << "Bye";
return 0;
}
输出应该看起来像Read "binarytriangle" and "ANSIStandard" -> "AINSabdegilnrty",但我似乎无法弄清楚如何根据字母顺序实际组合它们并删除重复的字母。在网上我只找到了如何根据ASCII顺序而不是对两个字符串进行排序来获取char的数值。我正在考虑使用 for 循环,但我不确定我应该在括号内放什么。
【问题讨论】:
-
详细说明@molbdnilo 的评论,它为您提供了相应标准库函数的名称——首先对字符进行排序,然后删除重复项。