采用map容器来使用,本题一直有一个点出错,原因在于在没有坏键时,cin无法读到,改用getline(cin,a)来实现
#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
const int maxn=100000+10;
int main()
{
string a,b;
map<char,int> m;
// freopen("1033.txt","r",stdin);
getline(cin,a);getline(cin,b);
int flag=0,flag1,flag2=0;
for(int i=0;i<a.size();i++)
{
m[a[i]]=1;
if(a[i]>='A'&&a[i]<='Z')
{
a[i]=tolower(a[i]);
m[a[i]]=1;
}
else if(a[i]>='a'&&a[i]<='z')
{
a[i]=toupper(a[i]);
m[a[i]]=1;
}
}
if(m.count('+'))
flag=1;
for(int i=0;i<b.size();i++)
{
flag1=0;
if(flag&&(b[i]>='A'&&b[i]<='Z'))
{
flag1=1;
}
if(m.count(b[i]))
flag1=1;
if(flag1==0)
{
flag2=1;
cout<<b[i];
}
}
if(flag2)
cout<<endl;
return 0;
}