#include<iostream>
#include<string>
#include<algorithm>
#include<cctype>
using namespace std;
bool isUpper(char c) {
return (c >= 'A' && c <= 'Z');
}
int main() {
string s1, s2;
getline(cin, s1);
getline(cin, s2);
for (int i = 0; i < s1.size(); i++) {
if (s1[i] == '+')
for (int j = 0; j < s1.size(); j++)
s1[j] = tolower(s1[j]);
}
for (int i = 0; i < s1.size(); i++) {
if (s1[i] == '+') {
s2.erase(remove_if(s2.begin(), s2.end(), isUpper), s2.end());
}
}
for (auto s1_it = s1.begin(); s1_it != s1.end(); s1_it++) {
s2.erase(remove(s2.begin(), s2.end(), *s1_it), s2.end());
}
for (char i : s2)
cout << i;
return 0;
}
pat乙级 1033旧键盘打字 最后一个测试点是什么?过不去
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-sinJack 2021-10-30 23:11关注
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int ascii[255]={0}; char ch,broken[100001]; int len,i; gets(broken); len=strlen(broken); for(i=0;i<len;i++) { ch=broken[i]; ascii[ch]=1; //确保将小写也不输出 if(ch>='A'&&ch<='Z') { ch=ch-'A'+'a'; ascii[ch]=1; } } while(scanf("%c",&ch)!=EOF) { if(ascii[ch]==0) { if(ch>='A'&&ch<='Z'&&(ascii['+']==1)) { continue; } printf("%c",ch); } } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器