1029. 旧键盘(20)
时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
输入格式:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。
输出格式:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。
输入样例:
7_This_is_a_test
_hs_s_a_es
输出样例:
7TI
版本一:
坏键的输入顺序是根据0-9 a-z的顺序输入
不符合题意
题意是按照输入顺序输出
#include "stdio.h"
#include"string.h"
int main()
{
int keybord[]={};
char temp;
int i;
while()
{
temp=getchar();
if (temp=='\n')
break;
if(temp<=''&&temp>='')
keybord[temp-'']=;
if(temp<='z'&&temp>='a')
keybord[temp-'a'+]=;
if(temp<='Z'&&temp>='A')
keybord[temp-'A'+]=;
if(temp=='_')
keybord[]=;
}
while()
{
temp=getchar();
if (temp=='\n')
break;
if(temp<=''&&temp>='')
keybord[temp-'']=;
if(temp<='z'&&temp>='a')
keybord[temp-'a'+]=;
if(temp<='Z'&&temp>='A')
keybord[temp-'A'+]=;
if(temp=='_')
keybord[]=;
} for(i=;i<;i++)
{
;
if(keybord[i])
{
if (i>=&&i<=)printf("%c",i+'' );
if (i>=&&i<=)printf("%c",'A'+i- );
if(temp=='_') printf("_" ); }
} return ;
}
版本二:
#include "stdio.h"
#include"string.h"
int main()
{
int len_a=,len_b=;
char c1,c2;
int j,i,keybord[]={};
char a[],b[];
gets(a);
gets(b);
len_a=strlen(a);
len_b=strlen(b);
for(i=;i<len_a;i++)
{
c1=a[i];
for(j=;j<len_b;j++)
{
c2=b[j];
if(c1 >= 'a' && c1 <= 'z')
c1 = c1 + 'A' - 'a';
if(c2 >= 'a' && c2 <= 'z')
c2 = c2 + 'A' - 'a';
if(c1==c2)
break; }
if(j==len_b&&keybord[c1]==)
{
printf("%c",c1);
keybord[c1]=;
} } return ;
}