✨ 本题跟之前的旧键盘的题目正好输出相反的内容。链接:这里这里这里!
✨需要注意的就是 增加了一个上档键,如果该键坏了,那么大写字母是无法打印出来的。依然采用flag来标志是否坏了。
#include<iostream>
#include<string>
using namespace std;
int main(){
string s1;
string s2;
cin>>s1>>s2;
int flag = 0;//上档键坏掉了,那么大写的英文字母无法被打出。
for(int i=0;i<s1.length();i++){
if(s1[i] == '+'){
flag = 1;
}
}
for(int i =0;i<s2.length();i++){
int ff = 0;
for(int j=0;j<s1.length();j++){
if(s2[i]>=65&&s2[i]<=90){
if(s1[j]==s2[i] || flag ==1){
ff = 1;
break;
}
}else if(s2[i]>=97&&s2[i]<=122){
if(s1[j]>=65&&s1[j]<=90){
int x = s1[j]-'0';
char c = x+32+'0';
if(c==s2[i]){
ff = 1;
break;
}
}else if(s1[j]>=97&&s1[j]<=122){
if(s2[i]==s1[j]){
ff = 1;
break;
}
}
}else{
if(s1[j]==s2[i]){
ff = 1;
break;
}
}
}
if(ff==0){
cout<<s2[i];
}
}
}