PAT-B 1029. 旧键盘

来源:互联网 发布:apk源码编译软件 编辑:程序博客网 时间:2024/05/21 08:42

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

输入格式:

输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。

输出格式:

按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。

输入样例:

7_This_is_a_test_hs_s_a_es

输出样例:

7TI

程序代码:

#include<stdio.h>char a[81];char b[81];int flag(char a[],char b,int i);int main(){    char c;    char bad_key[81];    int count=0;    scanf("%s%s",a,b);    char*m=a,*n=b;    int i=0;    while(*m!='\0'&&*n!='\0')    {        if(*m==*n)        {            m++;            n++;        }        else        {            if(*m>='a'&&*m<='z')            {                 c=*m-'a'+'A';                if(flag(bad_key,c,count))                    ;                else                                        bad_key[count++]=c;            }            else            {                if(flag(bad_key,*m,count))                    ;                else                    bad_key[count++]=*m;            }            m++;        }    }    while(*m!='\0')    {                        if(*m>='a'&&*m<='z')                        {                                 c=*m-'a'+'A';                                if(flag(bad_key,c,count))                                        ;                                else                                        bad_key[count++]=c;                        }                        else                        {                                if(flag(bad_key,*m,count))                                        ;                                else                                        bad_key[count++]=*m;                        }                        m++;    }    bad_key[count]='\0';printf("%s",bad_key);return 0;}int flag(char a[],char b,int i){    int j=0;    for(j=0;j<i;j++)    {        if(a[j]==b)            return 1;    }    return 0;   }
0 0
原创粉丝点击