旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、
以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字
是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)
,题目保证第2行输入的文字串非空。注意:如果上档键坏掉了,那么大写的英文字母无法被打出。输出格式:在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:7+IE.
7_This_is_a_test.输出样例:_hs_s_a_tst

代码:

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>char board[100001];
int Da[26];
int Xiao[26];
int digit[10];
int shangdang;
int SD[3];
int _;int main()
{gets(board);int stl = strlen(board);for(int i=0 ; i<stl ; i++){if(board[i]<='9' && board[i]>='0')digit[board[i] - '0'] = 1;else if(board[i]<='Z' && board[i]>='A'){Da[board[i] - 'A'] = 1;Xiao[board[i] - 'A'] = 1;}else if(board[i] == '+' || board[i] == '-' || board[i] == ',' || board[i] == '.'){if(board[i] == '+')shangdang = 1;else if(board[i] == '-')SD[0] = 1;else if(board[i] == ',')SD[1] = 1;else SD[2] = 1;}else _ = 1;}scanf("%s",board);stl = strlen(board);for(int i=0 ; i<stl ; i++){if(board[i]<='9' && board[i]>='0'){if(digit[board[i] - '0'] == 0)printf("%c",board[i]);}else if(board[i]<='Z' && board[i]>='A'){if(Da[board[i] - 'A'] == 0 && shangdang == 0)printf("%c",board[i]);}else if(board[i]<='z' && board[i]>='a'){if(Xiao[board[i] - 'a'] == 0)printf("%c",board[i]);}else if(board[i] == '_'){if(_ == 0)printf("%c",board[i]);}else if(board[i] == '-' && SD[0] == 0)printf("%c",board[i]);else if(board[i] == ',' && SD[1] == 0)printf("%c",board[i]);else if(board[i] == '.' && SD[2] == 0)printf("%c",board[i]);}return 0;
}

转载于:https://www.cnblogs.com/vocaloid01/p/9514295.html

pat 乙级1033 旧键盘打字(20)相关推荐

  1. PAT乙级 1033 旧键盘打字 (20 分)

    1033 旧键盘打字 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 原题链接 代码 #incl ...

  2. PAT乙级(1033 旧键盘打字)

    PAT乙级 1033旧键盘打字 题目描述 解题代码 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入的文字.其中对应英文字母的坏键以大写给出:每段文字是不超过 10​5​​ 个字符的串. ...

  3. C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)

    1033 旧键盘打字 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行 ...

  4. pat 乙级 1033 旧键盘打字(C++)

    题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应 ...

  5. PAT Basic 1033. 旧键盘打字(20)(C语言实现)

    我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...

  6. [PAT乙级]1033 旧键盘打字(getline()读入)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  7. PAT乙级--1033 旧键盘打字(测试点2,测试点4解决)

    题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以 ...

  8. PAT 乙级 1033 旧键盘打字 python

    题目 思路 因为坏键盘的输入是大写字母 遍历输入的字符,将输入字母的字符转换为大写 与坏键盘对比: 如果'+' 坏掉, 当字母字符不在坏键盘之列,则是小写时,字符才能输出 代码 import sys ...

  9. PAT乙级1033 旧键盘打字

    这里用cin有一个点过不了,改用getline就没问题了.原因似乎是坏掉的键数有可能为0. #include <iostream> #include <string> #inc ...

最新文章

  1. Python3.5源码分析-sys模块及site模块导入
  2. eeglab中文教程系列(6)-数据叠加平均{1}(Data averaging)
  3. counterfactual
  4. mysql开机启动脚本_centos简单的mysql开机自启和自动保存脚本
  5. 成员变量修饰词的作用
  6. Spring Boot中表格的请求以及表格界面的显示
  7. MySQL查询执行的基础——查询优化处理
  8. 虚拟机VMware搭建代码环境
  9. 在Android上通过AI危险检测向驾驶员发出警报
  10. 批处理脚本学习笔记——程序猿版
  11. 华为和新华三OSPF单区域配置
  12. FireFox使用百度网盘插件
  13. Tracert(traceroute)Ping 工作原理分析
  14. 灵棋排盘(七政四余)入门指导—排盘与框架
  15. Zynga公布2021年第二季度财务业绩
  16. gtx660 linux驱动下载,佳能 GeForce GTX 660 驱动程序下载-更新佳能软件(显卡)
  17. PAT1003 我要通过! (20 分)(C语言)
  18. ros入门启动小海龟(ros2版本)
  19. OpenCV4学习记录(一)解决第一步OpenCV4.5.1+VS2019+CMake
  20. 【练习记录】C语言实现正则表达式匹配

热门文章

  1. svchost.exe介绍
  2. typical career path for consulting industry
  3. Contextualization
  4. 安装keras and theano于google colab上
  5. university of liverpool writing techniques
  6. while listening lectures
  7. U3D 代码自动化生成定制预置体的旋转问题
  8. 组件化开发 ——— 制作私有库
  9. 用linux mail命令发送邮件时指定发送人
  10. 《Adobe Illustrator CS4中文版经典教程》目录—导读