PAT乙级练习题B1033. 旧键盘打字
2016-07-02 23:49
253 查看
题目描述
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。
注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:
7+IE.
7_This_is_a_test.
输出样例:
_hs_s_a_tst
题目解析
为了防止输入的是空字符串,不能使用cin,使用getline。还有看清题目是,如果上档键坏了不能输入大写字符,我原来以为是会变成小写的字符,但是题意是什么都不输出。
代码
#include<iostream> #include<string> using namespace std; int main() { string bad; string want; getline(cin,bad); getline(cin, want); for (int i = 0; i < want.size(); ++i) { char in = toupper(want[i]); if (bad.find(in) == bad.npos) { if (bad.find('+') != bad.npos&&want[i]>='A'&&want[i]<='Z') { continue; } else { cout << want[i]; } } } cout << endl; system("pause"); return 0; }
相关文章推荐
- node.js后台jquery前台-- 实现用户登录注册AJAX交互
- 【Android官方文档】翻译Android官方文档-Fragment(四)
- UVA - 232 Crossword Answers
- UVA - 455 Periodic Strings
- UVA - 1225 Digit Counting
- unity实现自己的一个消息系统
- [3]AMQP(高级消息队列协议) ----QPID JMS-0.9 API 对 SSL 的支持
- NSURLSession结构图
- DBOpenHelper
- [HTTP2] HTTP1 probs and HTTP2 saves
- Android MVVM ViewModel
- UVA - 1585 Score
- JavaScript网页编程之------JavaScript与Html结合方式
- 为C#添加位域特性
- 《Linux内核设计与实现》笔记——内核同步简介
- jQuery特效(二)
- OpenSSH
- git如何查看文件的修改历史
- 手机端file限制只能选择图片、视频、音频,直接打开摄像头拍照或录像
- nexus 安装