题意:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
样例:
inpute:
7_This_is_a_test
_hs_s_a_es
output:
7TI
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#define maxSize 10000
using namespace std;
void upperCase(char& s) {
if (s >= 'a' && s <= 'z')
s -= 32;
}
int main() {
int alen, blen, flag;
bool hash[128] = { false };
//由ASCII码,除控制和打印字符,共有128个
//用bool数组表示他们之前是否出现过,下标为对应字符
string str_1, str_2;
cin >> str_1 >> str_2;
alen = str_1.size();
blen = str_2.size();
for (int i = 0; i < alen; i++) {
flag = 0;
upperCase(str_1[i]);//一律转为大写
for (int j = 0; j < blen; j++) {
upperCase(str_2[j]);
if (str_1[i] == str_2[j]) {
flag = 1;
break;
}
}
if (flag == 0 && hash[str_1[i]] == false) {
hash[str_1[i]] = true;//字符做下标
cout << str_1[i];
}
}
cout << endl;
return 0;
}