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

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1033 旧键盘打字 (20 分)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
题目地址

#include<cstdio>
#include<iostream>
#include<map>
#include<string> 
using namespace std;
map<char,bool>mp; 
bool flag=false;
int main(void)
{
	string a,b; 
	getline(cin,a);//因为第一行可能是一个空行,故用getline
	getline(cin,b);
	for(int i=0;i<a.size();i++)
	{
		if(a[i]>='A'&&a[i]<='Z') mp[a[i]+32]=true;
		else mp[a[i]]=true;
		if(a[i]=='+') flag=true;
	}
	for(int i=0;i<b.size();i++)
	{
		if( (b[i]>='a'&&b[i]<='z') || ( b[i]>='A'&&b[i]<='Z' ) )
		{
			if(b[i]>='a')//小写 
			{
				if(!mp[b[i]])  cout<<b[i];
			}
			else//大写 
			{
				if(!flag&&!mp[b[i]+32]) cout<<b[i];
			}
		}
		else 
		{
			if(!mp[b[i]]) cout<<b[i];
		}
	}
	return 0;
}

以上是关于PAT乙级1033 旧键盘打字 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章

PTA 乙级 1033 旧键盘打字 (20分) Python

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

PATB1033 旧键盘打字 (20 分)

1033 旧键盘打字 (20 分)

python 1033 旧键盘打字 (20 分)

1033 旧键盘打字 (20分)