zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise:1033. 旧键盘打字

    【题目链接】

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

    输入格式:

    输入在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 
     4 void test(void)
     5 {
     6 #define MAX_STR_LEN     (100000)
     7     int broken[256];
     8     char str[MAX_STR_LEN+1];
     9     char ch;
    10     int i;
    11 
    12     gets(str);
    13     for(i = 0; str[i]; i++)
    14     {
    15         ch = str[i];
    16         broken[ch] = 1;
    17         if(ch >= 'A' && ch <= 'Z')
    18         {
    19             ch = ch - 'A' + 'a';
    20             broken[ch] = 1;
    21         }
    22     }
    23 
    24     while(scanf("%c", &ch) != EOF)
    25     {
    26         if(broken[ch] == 0)
    27         {
    28             if(ch >= 'A' && ch <= 'Z' && broken['+'] == 1)
    29                 continue;
    30             printf("%c", ch);
    31         }
    32     }
    33 }
    34 
    35 int main(void)
    36 {
    37     test();
    38     return 0;
    39 }
  • 相关阅读:
    CSPS模拟 65
    CSPS模拟 64
    $color$有色图
    CSPS模拟 63
    CSPS模拟 62
    CSPS模拟 61
    CSPS模拟 60
    CSPS模拟 59
    go中单链表
    MYSQL-联合索引
  • 原文地址:https://www.cnblogs.com/utank/p/4470728.html
Copyright © 2011-2022 走看看