题目:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
输入格式:
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:
7+IE.
7_This_is_a_test.
输出样例:
_hs_s_a_tst
思路:
以字符作为数组c[]的下标,标记为 1
AC代码:
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 1e5+10;
int main()
{
string a,b;
char c[N];
getline(cin,a);
getline(cin,b);
for(int i = 0;i<a.length();i++)
{
c[a[i]] = 1; //以a[]数组存的字符,作为c[]的下标,并标记为 1
if(a[i]> 64 && a[i]<91) //如果是大写字母
{
c[a[i]+32] = 1; //转换成小写字母,标记为 1
}
if(c['+']==1) //若有‘+’
{
for(int i = 65;i<91;i++) //将所有的大写字母,都标记为 1
c[i] = 1;
}
}
for(int i = 0;i<b.length();i++)
{
if(c[b[i]] != 1) //若没有被标记
cout<<b[i];
}
cout<<endl;
return 0;
}