#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1, s2;
bool flag[150] = { false };
getline(cin, s1);
getline(cin, s2);
int i, j = 0;
int count = 0;
for (i = 0; i < s1.length(); i++)
{
flag[int(s1[i])] = true;
if (s1[i] >= 'A' && s1[i] <= 'Z')
{
flag[int(s1[i] + 32)] = true;
}
}
for (i = 0; i < s2.length(); i++)
{
if (flag[int(s2[i])] == false)
{
if ((s2[i] >= 'A' && s2[i] <= 'Z') && flag[int(s2[i])] != true && s1.find('+') == string::npos)
{
if (flag[s2[int('+')]] != true)
{
cout << s2[i];
count=1;
}
}
if ((s2[i] < 'A' || s2[i] > 'Z') && flag[int(s2[i])] != true)
{
cout << s2[i]; count=1;
}
}
}
if (count == 0)
cout << endl;
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/818840190546163.png "#left")
想询问一下测试点4问什么答案错误?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- _GX_ 2022-02-17 18:21关注
#include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<bool> f(256, true); string s1, s2; cin >> s1 >> s2; for (auto c : s1) { if (isupper(c)) { f[c] = false; f[tolower(c)] = false; } else if (c == '+') { for (char a = 'A'; a <= 'Z'; a++) f[a] = false; } else { f[c] = false; } } for (auto c : s2) { if (f[c]) cout << c; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?