思路:
1、同时遍历两个字符串,出现不相等则说明有残缺键位
2、建立hash数组,将字符与是否统计过映射起来
注意点:
1、英文字母统一输出为大写字母
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char s1[100],s2[100];
int hash[200] = {0};
scanf("%s%s",s1,s2);
int n1 = strlen(s1), n2 = strlen(s2);
for(int i=0,j=0;i<n1;i++)
{
char c1 = s1[i],c2 = s2[j];
if(c1>='a' && c1<='z') //先把小写字母全部转化为大写字母
c1 -= 32;
if(c2>='a' && c2<='z')
c2 -= 32;
if(c1 != c2)
{
if(!hash[c1]) //如果字符不相同且没有统计过,则输出
{
printf("%c",c1);
hash[c1] = 1;
}
}
else
j++;
}
return 0;
}