PAT 旧键盘打字 # include<iostream> using namespace std; bool flag = false; string broken, input_s; void func(char ch) { if (ch >= 'a' && ch <= 'z') { for (int i = 0; i < broken.length(); i++) { if (broken[i] == ch - 'a' + 'A') { return; } } printf("%c", ch); } else { for (int i = 0; i < broken.length(); i++) { if (broken[i] == ch) { return; } } if (ch >= 'A' && ch <= 'Z') { if (flag == false) { printf("%c", ch); } } else { printf("%c", ch); } } } int main() { // 这里要注意第一行可能不输入 getline(cin, broken); cin >> input_s; for (int i = 0; i < broken.length(); i++) { if (broken[i] == '+') { flag = true; break; } } for (int i = 0; i < input_s.length(); i++) { func(input_s[i]); } return 0; }