旧键盘打字(20)

来源:互联网 发布:淘宝发布宝贝商家编码 编辑:程序博客网 时间:2024/05/01 21:25

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

字会是怎样?

输入描述:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的

字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。

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

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

输入例子:
7+IE.

7_This_is_a_test.

输出例子:
_hs_s_a_tst

#include<stdio.h>#include<stdlib.h>#include<string>#include<iostream>using namespace std;int main(void){    int count[67]={0};    string templet_str;    string put_in;    cin >> templet_str;    cin >> put_in;    int len_tem_str = templet_str.length();    int len_put_in = put_in.length();    for (int i = 0; i < len_tem_str; i++)    {        if (templet_str[i] >= '0'&&templet_str[i] <= '9')            count[templet_str[i]-'0']++;        else if (templet_str[i] >= 'A'&&templet_str[i] <= 'Z')            count[templet_str[i] - 'A' + 10]++, count[templet_str[i] - 'A' + 36]++;        else        {            switch (templet_str[i])            {            case '_':                count[62]++;                break;            case ',':                count[63]++;                break;            case '.':                count[64]++;                break;            case '-':                count[65]++;                break;            case '+':                count[66]++;                break;            default:break;            }        }    }    for (int i = 0; i < len_put_in; i++)    {        if (put_in[i] >= '0'&&put_in[i] <= '9')        {            if (count[put_in[i] - '0'] == 0)                printf("%c", put_in[i]);        }        else if (put_in[i] >= 'A'&&put_in[i] <= 'Z')        {            if (count[put_in[i] - 'A' + 10] == 0 && count[66] == 0)                printf("%c", put_in[i]);        }        else if (put_in[i] >= 'a'&&put_in[i] <= 'z')        {            if (count[put_in[i] - 'a' + 36] == 0)                printf("%c", put_in[i]);        }        else        {            switch (put_in[i])            {            case '_':                if (count[62] == 0)                    printf("%c",put_in[i]);                break;            case ',':                if(count[63]==0)                    printf("%c", put_in[i]);                break;            case '.':                if(count[64]==0)                    printf("%c", put_in[i]);                break;            case '-':                if(count[65]==0)                    printf("%c", put_in[i]);                break;            case '+':                if(count[66]==0)                    printf("%c", put_in[i]);                break;            default:break;            }        }    }    return 0;}
0 0
原创粉丝点击