#include <bits/stdc++.h>
using namespace std;
int main() {
string input, actual;
map<char, int> existed;
// 读取输入和实际文字
cin >> input >> actual;
// 将小写字母转换成大写字母
for(int i = 0; i < input.size(); i++)
input[i] = toupper(input[i]);
for(int i = 0; i < actual.size(); i++)
actual[i] = toupper(actual[i]);
// 用容器记录输入时出现过的字符
for(int i = 0; i < input.size(); i++)
existed[input[i]] = false;
// 遍历并记录实际输出出现的字符
for(int i = 0; i < actual.size(); i++)
existed[actual[i]] = true;
// 再次遍历输入字符串 按顺序输出
for(int i = 0; i < input.size(); i++){
// 如果出现没有输出的字符
if(existed[input[i]] == false){
// 输出并标记不再输出
cout << input[i];
existed[input[i]] = true;
}
}
}
isalpha() 函数返回的是非零值但不一定是 true(1) ,所以如果像上图这样写就会有问题。