zoukankan      html  css  js  c++  java
  • 1033 旧键盘打字

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

    输入格式:

    输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105​​ 个字符的串。可用的字符包括字母 [a-zA-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 int main()
     5 {
     6     int book[200]={0};//以字符为下标存坏键 
     7     char str;
     8     int flag=0;//flag=0为无输出
     9     while((str=getchar())!='
    ') 
    10     {
    11         if(str>='A'&&str<='Z')
    12             book[str-'A'+'a']=1;//大写转小写存入
    13         book[str]=1;//存入其他坏键 
    14     }
    15     if(book['+']==1)//无大写输出 
    16     {
    17         for(int i='A';i<='Z';i++)
    18                 book[i]=1;//标记 
    19     }
    20     while((str=getchar())!='
    ')
    21     {
    22         if(book[str]==1)
    23             continue;
    24         printf("%c",str);
    25         flag=1;//flag为1有输出 
    26     }
    27     if(flag==0)
    28         printf("
    ");//无输出则空行 
    29     return 0; 
    30 }
    大佬见笑,,
  • 相关阅读:
    java 堆栈 附图
    synchronized、volatile关键字
    Swift随笔
    java |、&、~、>>、<<运算符的作用。
    java双向链表示意图
    java单链表
    List集合的过滤之lambda表达式
    SQL hint作用
    创建触发器的一般语法
    多线程创建方式
  • 原文地址:https://www.cnblogs.com/xwl3109377858/p/10473365.html
Copyright © 2011-2022 走看看