pat 乙级1033 旧键盘打字(20)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、
以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在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)相关推荐
- PAT乙级 1033 旧键盘打字 (20 分)
1033 旧键盘打字 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 原题链接 代码 #incl ...
- PAT乙级(1033 旧键盘打字)
PAT乙级 1033旧键盘打字 题目描述 解题代码 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入的文字.其中对应英文字母的坏键以大写给出:每段文字是不超过 105 个字符的串. ...
- C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)
1033 旧键盘打字 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行 ...
- pat 乙级 1033 旧键盘打字(C++)
题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应 ...
- PAT Basic 1033. 旧键盘打字(20)(C语言实现)
我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...
- [PAT乙级]1033 旧键盘打字(getline()读入)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...
- PAT乙级--1033 旧键盘打字(测试点2,测试点4解决)
题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以 ...
- PAT 乙级 1033 旧键盘打字 python
题目 思路 因为坏键盘的输入是大写字母 遍历输入的字符,将输入字母的字符转换为大写 与坏键盘对比: 如果'+' 坏掉, 当字母字符不在坏键盘之列,则是小写时,字符才能输出 代码 import sys ...
- PAT乙级1033 旧键盘打字
这里用cin有一个点过不了,改用getline就没问题了.原因似乎是坏掉的键数有可能为0. #include <iostream> #include <string> #inc ...
最新文章
- Python3.5源码分析-sys模块及site模块导入
- eeglab中文教程系列(6)-数据叠加平均{1}(Data averaging)
- counterfactual
- mysql开机启动脚本_centos简单的mysql开机自启和自动保存脚本
- 成员变量修饰词的作用
- Spring Boot中表格的请求以及表格界面的显示
- MySQL查询执行的基础——查询优化处理
- 虚拟机VMware搭建代码环境
- 在Android上通过AI危险检测向驾驶员发出警报
- 批处理脚本学习笔记——程序猿版
- 华为和新华三OSPF单区域配置
- FireFox使用百度网盘插件
- Tracert(traceroute)Ping 工作原理分析
- 灵棋排盘(七政四余)入门指导—排盘与框架
- Zynga公布2021年第二季度财务业绩
- gtx660 linux驱动下载,佳能 GeForce GTX 660 驱动程序下载-更新佳能软件(显卡)
- PAT1003 我要通过! (20 分)(C语言)
- ros入门启动小海龟(ros2版本)
- OpenCV4学习记录(一)解决第一步OpenCV4.5.1+VS2019+CMake
- 【练习记录】C语言实现正则表达式匹配