题意:键盘可能坏了,输入一行数,看看那个字符没有,从而判断哪些键坏了,小写变大写,其他原样输出;
思路:用string里面的find函数,输入为s1,输出为s2的话,s2里没有s1的某个字符就存到且s里面也没有就存到s里(避免重复),然后再输出就得了;
收获:find函数的返回值是无符号整型,如果查找不到,就会返回4294967295(string::npos表示-1或4294967295),所以s1.find(s2[i])==string::nops就表示没有找到,无匹配;
toupper将小写字母变成大写字母,其余原样输出;
#include <iostream>
using namespace std;
int main(){
string s1,s2,s;
cin>>s1>>s2;
for(int i=0;i<s1.size();i++){
if(s2.find(s1[i])==string::npos&&s.find(toupper(s1[i]))==string::npos){
s+=toupper(s1[i]);
}
}
cout<<s;
return 0;
}