一、题目
二、代码
#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
int main() {
string s1, s2;
getline(cin,s1);
cin >> s2;
string s3;
//大小写转换
int s1len = s1.size();
for (int i = 0; i < s1len; i++) {
if (s1[i] <= 'Z' && s1[i] >= 'A') {
s1 += tolower(s1[i]);
}
}
for (int i = 0; i < s2.size(); i++) {
if (s1.find(s2[i]) == -1) {//找不到,能打出来
if (s1.find('+') == -1) {//找不到,能打大写
s3 += s2[i];
}
else {//不能输出大写
if (s2[i] >= 'A' && s2[i] <= 'Z') {
}
else {
s3 += s2[i];
}
}
}
}
cout << s3;
}
三、分析
旧键盘(1029)的反转版+更多要求,使用find函数
测试点2(getline)
题目说:题目保证第 2 行输入的文字串非空。所以第一行可能为空
要用#include<string>中的getline(cin,s);
#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
int main() {
string s1, s2;
getline(cin,s1);
cin >> s2;
}