自己写的代码,测试点4过不了,因为担心下次犯同样的错误,所以找了半天终于发现错误点了!
来看下题目描述:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
划重点,肯定坏掉。
举个例子,应该输入12345671、实际输入2345671
虽然最开始的时候1没有成功输入,但是后面它还是有成功案例的!也就是说这个键没有坏掉~
修改后的代码
#include <cstdio>
#include <algorithm>
#include <string.h>
int T(char a){ //把字符转成数字的函数
int n=0;
if(a<='9'&&a>='0'){
n=a-'0';
}
if(a>='a'&&a<='z'){
n=a-'a'+10;
}
if(a>='A'&&a<='Z'){
n=a-'A'+10;
}
return n;
}
int main(){
char c1[90];
char c2[90];
int check[80]={0};
scanf("%s%s",c1,c2);
int len1=strlen(c1);
int len2=strlen(c2);
for(int i=0;i<len1;i++){
int j;
for(j=0;j<len2;j++){
if(c2[j]<='z'&&c2[j]>='a'){
c2[j]=c2[j]-32;
}
if(c1[i]<='z'&&c1[i]>='a'){
c1[i]=c1[i]-32;
}
if(c2[j]==c1[i]){
break;
}
}
if(j==len2&&check[T(c1[i])]==0){
printf("%c",c1[i]);
check[T(c1[i])]=1;
}
}
return 0;
}