题目
思路
用键值对存储实际输出的字符串,每个字符为一个键,对应的值可以为0/1代表出现/不出现;也可以为出现次数。
注意因为要求输出大写字符,所以可以将读入的每个字符先转为大写字符,再存储键值对map。
遍历输入字符串中每个字符,将读入的每个字符先转为大写字符,如果map中查找到该字符键对应的值非0,则表明没有换掉;否则该键坏掉,输出转换后的大写字符。
代码
#include<cstdio>
#include<iostream>
#include<map>
using namespace std;
map<char,int> mp;
int main(){
string in,out;
cin>>in>>out;
char a;
for(int i=0; i<out.size(); i++){
a=toupper(out[i]);
mp[a]++;
}
for(int i=0; i<in.size(); i++){
a=toupper(in[i]);
if(!mp[a]){
cout<<a;
mp[a]++;
}
}
return 0;
}