旧键盘 (PATB-1029)
题面
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
输入
输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线
_
(代表空格)组成。题目保证 2 个字符串均非空。
输出
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。
样例输入
17_This_is_a_test
2_hs_s_a_es
样例输出
17TI
提示
无
思路
代码
1const int mxn = 1e5 + 5;
2char s[mxn], t[mxn];
3int a[mxn];
4
5int main()
6{
7 scanf("%s %s", s, t);
8 int sl = strlen(s);
9 int tl = strlen(t);
10
11 for(int i=0; i<tl; i++)
12 {
13 if(isalpha(t[i]))
14 a[toupper(t[i])]++;
15 else
16 a[t[i]]++;
17 }
18
19 for(int i=0; i<sl; i++)
20 {
21 if(isalpha(s[i]))
22 s[i] = toupper(s[i]);
23 if(a[s[i]] == 0)
24 {
25 printf("%c", s[i]);
26 a[s[i]]++;
27 }
28 }
29 return 0;
30}