zoukankan      html  css  js  c++  java
  • PAT散列题---1033 旧键盘打字 (20分)

    • 测试点2有个坑就是不能用cin来输入字符
    • 题目保证第二行输入非空,第一行可能是空,cin读不了空字符
    #include<iostream>
    #include<vector>
    #include<cctype>
    #include<algorithm>
    #include<sstream>
    #include<string>
    #include<cstdio>
    
    using namespace std;
    
    
    int main() {
    	string a,b;
    	getline(cin,a);
    	getline(cin,b);
    	int str[200]={0};
    	bool ans=true;
    	if(a.find('+')!=string::npos) ans=false;
    	for(int i=0;i<a.size();i++){
    		if(ans){
    			char x=toupper(a[i]);
    			str[x]=1;
    		}else{
    			char x=tolower(a[i]);
    			str[x]=1;
    		}
    	}
    	if(ans){
    		for(int i=0;i<b.size();i++){
    		char x=toupper(b[i]);
    		if(!str[x]) cout<<b[i];
    		}
    	}else{
    		for(int i=0;i<b.size();i++){
    		if(isupper(b[i])) continue;
    		char x=tolower(b[i]);
    		if(!str[x]) cout<<b[i];
    		}
    	}
    	return 0;
    }
    

    附上柳诺小姐姐的代码,好简洁哈

    #include <iostream>
    #include <cctype>
    using namespace std;
    int main() {
      string bad, should;
      getline(cin, bad);
      getline(cin, should);
      for (int i = 0; i < should.length(); i++) {
        if (bad.find(toupper(should[i])) != string::npos) continue;
        if (isupper(should[i]) && bad.find('+') != string::npos) continue;
        cout << should[i];
      }
      return 0;
    }
    
  • 相关阅读:
    关于设计
    开机速度优化
    寻找发帖“水王”《编程之美》笔记
    SPSS学习笔记
    《你的灯亮着吗》读书笔记
    《遇见未知的自己》读书笔记
    Python中字符串与字典间转换
    ide vim 设置zz
    Redis几个认识误区zz
    探索AJAX中的消息传输模式(二)
  • 原文地址:https://www.cnblogs.com/bingers/p/13091029.html
Copyright © 2011-2022 走看看