PAT Basic Level 1033 旧键盘打字 (20 分)
2019-01-22 00:10
399 查看
题目链接:
https://pintia.cn/problem-sets/994805260223102976/problems/994805288530460672
AC代码:
[code]#include<iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cctype> using namespace std; int main(){ string s1,s2,ans; getline(cin,s1);//测试点2出错处,可以输入空 //cin>>s1 //这样无法输入空字符串,所以出错 cin>>s2; bool resist_plus=false;//是否输出大写字母,默认情况下输出 if(s1.find('+')!=string::npos){ resist_plus=true; } for(int i=0;i<s2.size();i++){ if(s1.find(toupper(s2[i]))!=string::npos){//如果s2中的字符在s1中出现过,则不输出 continue; } else if((s1.find(toupper(s2[i]))==string::npos)&&(resist_plus)){//如果未出现,且上档键坏了,即不输出大写字母 if(s2[i]>='A'&&s2[i]<='Z')//不输出大写字母 continue; else ans+=s2[i]; } else if((s1.find(toupper(s2[i]))==string::npos)&&!(resist_plus)){//上档键没坏 ans+=s2[i]; } } if(!ans.empty()){ cout<<ans; } else cout<<endl; return 0; }
相关文章推荐
- PAT (Basic Level) Practise (中文) 1033. 旧键盘打字(20)
- PAT(basic level) 1033 旧键盘打字(20)
- PAT (Basic Level) Practise (中文)1033. 旧键盘打字(20)
- PAT (Basic Level) Practise (中文)-1033. 旧键盘打字(20)
- PAT BASIC LEVEL 1033. 旧键盘打字(20)
- PAT (Basic Level) Practise (中文)1033. 旧键盘打字(20)
- PAT (Basic Level) Practise (中文)1033. 旧键盘打字(20) C语言
- PAT (Basic Level)1033. 旧键盘打字
- PAT(Basic Level)_1033_旧键盘打字
- PAT (Basic Level) Practise:1033. 旧键盘打字
- 【再思考】PATBasic——1033. 旧键盘打字(20)
- Pat(Basic Level)Practice--1033(旧键盘打字)
- PAT Basic 1033. 旧键盘打字(20)(C语言实现)
- PAT(BASIC)1033. 旧键盘打字(20)
- PAT Basic 1033. 旧键盘打字(20)
- PAT-乙级-1033. 旧键盘打字(20)
- PAT-乙级-1033. 旧键盘打字(20)
- PAT(basic level) 1029 旧键盘(20)
- 乙级 PAT 1033. 旧键盘打字(20)
- PAT-B 1033. 旧键盘打字(20)[造字典][打表]