PTA-1029 旧键盘

版权声明:一只努力变强的编程汪,欢迎交流! https://blog.csdn.net/qq_42020563/article/details/83143018

1029 旧键盘 (20 分)

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

输入格式:

输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。

输出格式:

按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。

输入样例:

7_This_is_a_test
_hs_s_a_es

输出样例:

7TI
//用一个标识数组来检查第二个字符串的字母或数字的大写,然后去检查第一个字符串,没有出现过的字符或数字就是坏掉的按键,具体实现看代码,有一些小技巧,另大小写转换可以用toupper()这个函数,在头文件cctype也就是c语言的ctype.h中
#include<iostream>
#include<cstdio>
#include<ctype.h>
#include<string>
using namespace std;
int main()
{
  int a[200]={0};
  string str1,str2;
  cin>>str1>>str2;
  int l1=str1.length();
  int l2=str2.length();
  for(int i=0;i<l2;i++)
  {
    a[toupper(str2[i])]++;
  }
  for(int i=0;i<l1;i++)
  {
    a[toupper(str1[i])]--;
    if(a[toupper(str1[i])]==-1)
    printf("%c",toupper(str1[i]));//注意输出形式,不能用cout输出
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42020563/article/details/83143018