zoukankan      html  css  js  c++  java
  • PAT 1033. 旧键盘打字(20)

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

    输入格式:

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

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

    输出格式:

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

    输入样例:
    7+IE.
    7_This_is_a_test.
    
    输出样例:
    _hs_s_a_tst
    
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 #include<ctype.h>
     5 int main(){
     6     char a[100010];
     7     char b[100010];
     8     gets(a);
     9     gets(b);
    10     int lena = strlen(a);
    11     int lenb = strlen(b);
    12     int flag = 0;
    13     int k = 'a'-'A';
    14     for(int i=0;i<lena;i++){
    15         if(a[i]=='+')
    16             flag = 1;
    17     }
    18     if(flag){
    19         for(int i=0;i<lenb;i++){
    20             if(b[i]>='A'&&b[i]<='Z')
    21                 b[i] = '*';
    22             }
    23     }
    24     for(int i=0;i<lena;i++){
    25         for(int j=0;j<lenb;j++){
    26             if(a[i]<='z'&&a[i]>='a'||a[i]<='Z'&&a[i]>='A'){
    27                 if(a[i]==b[j]||a[i]==b[j]-k)
    28                     b[j]='*';
    29             }
    30             else if(a[i]==b[j])
    31                 b[j] = '*';
    32         }
    33     }
    34     for(int i=0;i<lenb;i++){
    35         if(b[i]!='*')
    36             printf("%c",b[i]);
    37     }
    38     printf("
    ");
    39 }
  • 相关阅读:
    springMVC静态资源
    MyBatis Generator
    使用springMVC时的web.xml配置文件
    Semaphore
    spring注解驱动--组件注册
    第1章 初始Docker容器
    docker面试整理
    第5章 运输层
    验证码
    带进度条的上传
  • 原文地址:https://www.cnblogs.com/lolybj/p/6222261.html
Copyright © 2011-2022 走看看