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

来源:互联网 发布:淘宝垃圾箱在哪 编辑:程序博客网 时间:2024/05/16 03:00

传送门

一直有一个例子过不了,后来发现第一个可能为空所以用getline来输入,C语言的话可使用gets()

#include<iostream>#include<string>using namespace std;int  brokenKey[257];bool isAlpha(char c){    if(c<='Z'&&c>='A')        return true;    return false;}int main(){    string broken;    string type;    string r;    getline(cin,broken);    getline(cin,type);    cin>>type;    for(int i=0;i<broken.length();i++) {        brokenKey[broken[i]]=1;        if(isAlpha(broken[i])){            brokenKey[broken[i]-('A'-'a')]=1;        }        if(broken[i]=='+'){            for(int j='A';j<='Z';j++){                brokenKey[j]=1;            }        }    }    for(int i=0;i<type.length();i++){           if(brokenKey[type[i]])  continue;        r+=type[i];    }    cout<<r<<endl;}
0 0