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

输入格式:

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

输出格式:

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

输入样例:

7_This_is_a_test
_hs_s_a_es

结尾无空行

输出样例:

7TI

结尾无空行

#include <stdio.h>
#include<string.h>
#pragma warning(disable:4996)
int main() {char str1[1000];char str2[1000];scanf("%s%s", str1, str2);int book1[300] = { 0 };//记录str2中的字符int len1 = strlen(str1), len2 = strlen(str2);for (int cnt = 0; cnt < len2; cnt++) {book1[(int)(str2[cnt])] = 1;}for (int cnt = 0; cnt < len1; cnt++) {//删除str1中str2出现的字符if (book1[(int)str1[cnt]] != 0) {str1[cnt] = 0;}}char str3[1000];int book2[300] = { 0 },i=0;//记录str1中已经被str3加入的字符for (int cnt = 0; cnt < len1; cnt++) {if (str1[cnt] != 0 ) {//初筛掉被删除的字符if (book2[(int)str1[cnt]] == 0) {\str3[i] = toupper(str1[cnt]);book2[tolower(str1[cnt])] = 1;book2[(int)str3[i]] = 1;i++;}}}str3[i] = 0;printf("%s", str3);return 0;
}

我的大体思路就是先判断出这道题是一道搜索题,因为题目要求找到坏键,所以我将可以打出的字符全部记录到桶中,然后再对str1进行处理,删除其中好键,剩余就是坏键,然后因为不能重复输出,所以再设置一个桶,这个桶用来统计那些字符已经被记录到了str3中,

我踩过的坑:1.最开始没读懂题目,没注意到是要按字符出现的次序输出而不是ascii码排序输出

2.这道题你记录了了一个字符的值,要把另外一个字符也记上,然后在把字符记录到桶的时候,记得两次toupper和tolower,因为它输进来的数不一定大小写,两次用比较保险,不会因为它输入进来的值改变而改变;

1029 旧键盘 (20 分)(c语言)相关推荐

  1. PAT乙级 1029 旧键盘 (20 分)

    1029 旧键盘 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 原题链接 代码 #inc ...

  2. C++学习之路 | PTA乙级—— 1029 旧键盘 (20 分)(精简)

    1029 旧键盘 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 ...

  3. 【PAT (Basic Level) Practice (中文)】1029 旧键盘 (20分)

    1029 旧键盘 (20分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行 ...

  4. 测试点4错的来:1029 旧键盘 (20分)

    立志用更少的代码做更高效的表达 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 ...

  5. 1029 旧键盘 (20 分)

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

  6. 【PAT乙级】1029 旧键盘 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> usin ...

  7. PAT ---- 1029. 旧键盘(20)

    1029. 旧键盘(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的 ...

  8. PAT 乙级 1029. 旧键盘(20) Java版

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

  9. 1029. 旧键盘(20)-PAT乙级真题

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

最新文章

  1. [转] 新入社員の自己紹介
  2. c语言中猴子拿香蕉的代码题,猴子分香蕉(2018年第九届蓝桥杯省赛第二题)
  3. simulink设计PID控制器及其封装详解
  4. 通过源码分析Mybatis是如何返回数据库生成的自增主键值?
  5. kafka整理笔记笔记
  6. WPF使用Webbrowser操作网页的主要代码
  7. 沃尔玛痛失世界最大零售商 电商凶猛!
  8. MySQL MHA切换失败一例
  9. no required module provides package github.com/gorilla/mux
  10. Java 多线程详解(二)------如何创建进程和线程
  11. jquery学习之事件委派
  12. 10个容易被接受的辞职理由
  13. 2018上半年爆款活动营销盘点
  14. 手机html input打开数字,html5 input的type属性启动数字输入法
  15. 如何制作一寸、二寸、六寸证件照片
  16. 《Swift4打造今日头条视频实战项目实战》最新
  17. 10分钟学计算机,电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身
  18. java android 打地鼠_android实现打地鼠游戏
  19. Kernel源码笔记之调度:3.CFS
  20. 高云半导体| Arora V系列GW5AT-LV138FPG676A荣获2022年度最佳处理器芯片奖

热门文章

  1. 《构架之美》阅读笔记六
  2. char str[] 和 char *str 的区别
  3. 牛客网测试题--小a和黄金街道
  4. PHP中迭代器是什么?
  5. xml文件格式例如以下
  6. 两台电脑可以用同一IP上网吗?
  7. 【数据结构与算法】之容器盛最多水的算法实现
  8. 2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割
  9. 1.1 什么是Hive
  10. setdefaultencoding函数使用详解