输入:只能输入A-Z(不区分大小写),0-9和下划线;
第一行输入应输入字符串,第二行输入实际输入字符串。
输出:按大写输出缺少的字符,每个字符输出一次。
注意:
1、由于不区分大小写,则需要将小写字母识别为大写字母;
2、保证每个字符只出现一次。
思路:
1、将所有的字母都转化为大写字母;
2、挨个枚举第一个字符串,如果在第二个字符串中没有出现,且HashTable数组为false,则输出,HashTable值改为true。
#include<cstdio>
#include<cstring>
int main(){
char str1[],str2[];
bool HashTable[]={false}; //标记字符是否被输出,所有字符的ASCII码不会超过128
scanf("%s",str1);
scanf("%s",str2);
int len1=strlen(str1);
int len2=strlen(str2);
for(int i=;i<len1;i++){//枚举第一个字符串的每个字符
int j;
char c1,c2;
for(j=;j<len2;j++){//枚举第二个字符串的每一个字符
c1=str1[i];
c2=str2[j];
if(c1>='a'&&c1<='z') c1-=;
if(c2>='a'&&c2<='z') c2-=;
if(c1==c2) break;
}
if(j==len2&&HashTable[c1]==false){
printf("%c",c1);
HashTable[c1]=true;//c1为该字符所对应的ASCII码
}
}
return ;
}