1033. 旧键盘打字(20)
2017-10-15 16:41
176 查看
1033. 旧键盘打字(20)
时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。注意:如果上档键坏掉了,那么大写的英文字母无法被打出。输出格式:在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。输入样例:7+IE. 7_This_is_a_test.输出样例:
_hs_s_a_tst
主要测试不过是因为 如果没有键坏的话,第一行就没有输入 ,cin不能接收回车 用gets接收在赋值
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<string> using namespace std; int main() { char str[100000]; string Scanf,bad; gets(str);//接受回车 cin>>Scanf; bad=str; int i=0,j=0; int flag=1; for(i=0;i<bad.length();i++) { if(bad[i]=='+') flag=0; for(j=0;j<Scanf.length();j++) { if(Scanf[j]>='a' && Scanf[j]<='z') { if(bad[i]==Scanf[j]-32) Scanf[j]='%'; } else { if(bad[i]==Scanf[j]) Scanf[j]='%'; } if(flag==0){ if(Scanf[j]>='A' && Scanf[j]<='Z') Scanf[j]='%'; } } } flag=0; for(i=0;i<Scanf.length();i++) { if(Scanf[i]!='%') {cout<<Scanf[i];flag=1;} } if(!flag) cout<<endl; }
相关文章推荐
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- PAT Basic 1033. 旧键盘打字(20)
- PAT BASIC LEVEL 1033. 旧键盘打字(20)
- PAT-乙级-1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033_旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)-浙大PAT乙级真题java实现
- 1033. 旧键盘打字(20)
- pat 乙级 1033. 旧键盘打字(20)
- PAT乙级1033. 旧键盘打字(20)
- 1033. 旧键盘打字(20)
- [PAT乙级]1033. 旧键盘打字(20)
- PAT (Basic Level) Practise (中文)1033. 旧键盘打字(20) C语言
- PAT乙级1033(C语言)-旧键盘打字(20)