• PAT (Basic Level) Practice (中文)1033 旧键盘打字 (20 分)


    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?

    输入格式:

    输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 1 个字符的串。可用的字符包括字母 [a-zA-Z]、数字 0-9、以及下划线 _(代表空格)、,.-+(代表上档键)。题目保证第 2 行输入的文字串非空。

    注意:如果上档键坏掉了,那么大写的英文字母无法被打出。

    输出格式:

    在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。

    输入样例:

    7+IE.
    7_This_is_a_test.
    

    输出样例:

    _hs_s_a_tst

    比较坑的是第一个串儿不一定非空
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <string>
     4 #include <cstring>
     5 #include <algorithm>
     6 using namespace std;
     7 string str1,str2; 
     8 char a[100005];
     9 int main()
    10 {
    11     getline(cin,str1);
    12     cin>>str2;
    13     int len1=str1.length();
    14     int len2=str2.length();
    15     int flag_up=0;
    16     for(int i=0;i<len1;i++){
    17         if(str1[i]=='+'){
    18             flag_up=1;
    19             break;
    20         }
    21     } 
    22     int t=0,flag=1;
    23     char c;
    24     for(int i=0;i<len2;i++){
    25         flag=1;
    26         c=str2[i];
    27         if(c>='A'&&c<='Z'){
    28             if(flag_up==1){
    29                 flag=0;
    30             }
    31         }
    32         if(c>='a'&&c<='z'){
    33             c-=32;
    34         }
    35         for(int j=0;j<len1;j++){
    36             if(!flag){
    37                 break;
    38             }
    39             if(c==str1[j]){
    40                 flag=0;
    41                 break;
    42             }
    43         }
    44         if(flag){
    45             a[t++]=str2[i];
    46         }
    47     }
    48     for(int i=0;i<t;i++){
    49         cout<<a[i];
    50     }
    51     cout<<endl;
    52     return 0;
    53 }


  • 相关阅读:
    【回顾整理】HTML+CSS个的两个实战项目
    【转】tkinter实现的文本编辑器
    迟到的tkinter---学校选课刷屏器
    调用有道翻译API
    【leetCode】3Sum Closest
    【LeedCode】3Sum
    【LeedCode】String to integer(atoi)
    【LeetCode】Reverse digits of an integer
    前端工程师必备PS技能
    【LeetCode】Add Two Numbers
  • 原文地址:https://www.cnblogs.com/wydxry/p/11191932.html
Copyright © 2020-2023  润新知