用数组我的程序运行超时,所以用string,要注意的是几个条件我在代码中标出来了。
#include<iostream>
using namespace std;
int main()
{
string s1;
string s2;
getline(cin,s1);
getline(cin,s2);
if(s1.length()==0)
{
cout<<s2;
return 0;
}
//cin>>s1>>s2;
int flag=0;
int k=0;
for(int i=0;i<s1.length();i++)
{
if(s1[i]=='+')
{
flag=1;
break;
}
}
for(int i=0;i<s1.length();i++)
{
if(s1[i]>='A'&&s1[i]<='Z')
s1[i]=s1[i]+32;
for(int j=0;j<s2.length();j++)
{
if(s1[i]==s2[j])//这里几个条件可以写成一个,看起来会很简洁。
{
s2[j]='/';
}
if(s2[j]+32==s1[i]&&flag==1)
{
s2[j]='/';
}
if(s2[j]>='A'&&s2[j]<='Z'&&flag==1)
{
s2[j]='/';
}
if(s2[j]+32==s1[i]&&flag==0)
{
s2[j]='/';
}
}
}
for(int i=0;i<s2.length();i++)
{
if(s2[i]!='/')
{
cout<<s2[i];
k=1;
}
}
if(k==0)
cout<<endl;
return 0;
}