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 }
  • 相关阅读:
    SQL Server 备份方案
    Azure 学习笔记
    SEO – 大杂烩
    Asp.net core 学习笔记之 Tag Helper
    读取注册表
    DOM学习历程-3
    inno setup给控制的那边加图标
    C++生成exe安装到别人那边无法使用缺少dll
    inno setup 最后
    inno setup
  • 原文地址:https://www.cnblogs.com/utank/p/4470728.html
Copyright © 2011-2022 走看看