https://pintia.cn/problem-sets/994805260223102976/problems/994805288530460672
思路:转大写来判断
//测试点2不过的原因是:第一行字符串可能为空,因此不能使用scanf读取,要使用cin.getline
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s,s1;
getline(cin, s);
cin>>s1;
string s2=s;
string s3=s1;
int flagend=0;//都打不出来的话达空格
int flag=0;
//判断上档键是否损坏
int flags=0;
for(int k=0;k<s.length();k++)
{
if(s[k]=='+')
flags=1;
}
for(int j=0;j<s1.length();j++)
{
flag=0;
if(s1[j]>=97&&s1[j]<=122)
{
s1[j]=s1[j]+'A'-'a';
}
for(int k=0;k<s.length();k++)
{
if(s1[j]==s[k])
{
flag=1;
break;
}
}
if(flags==1 && s3[j]>=65 && s3[j]<=90 )
{
flag=1;
}
if(flags==1 && s3[j]=='+' )
{
flag=1;
}
if(flag==0)
{
flagend=1;
cout<<s3[j];
}
}
if(flagend==0)
{
printf("\n");
}
}
05-18
225
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)