题目大意:给出输入的字符串和实际输出的字符串,判断键盘上哪些键坏了,每个坏掉的键只输出一次大写。
设置两个hashTable,一个用于标识哪些键坏了,另一个记录哪些键已经被打印过了。
AC代码:
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
char input[100] = {0}, output[100] = {0};
bool isBroken[256] = {false}, hasPrint[256] = {false};
scanf("%s%s", input, output);
for (int i = 0; i < strlen(output); ++i)
isBroken[output[i]] = true;
for (int i = 0; i < strlen(input); ++i)
{
if(!isBroken[input[i]])
{
if(input[i] >= 'a' && input[i] <= 'z') input[i] = input[i] - 'a' + 'A';
if(!hasPrint[input[i]])
{
printf("%c", input[i]);
hasPrint[input[i]] = true;
}
}
}
return 0;
}