用v[i]=1;表示ASCII为i的字符在str1中出现过;
注意变一下大小写就好,
我是直接把输入的两个字符的小写字母用对应的大写字母进行替换
#include<bits/stdc++.h>
using namespace std;
int main(){
int v[128];
char str1[81],str2[81];
while(scanf("%s",&str1)!=EOF){
//getchar();
scanf("%s",&str2);
memset(v,0,sizeof(v));
for(int i=0;str1[i]!=0;i++){
if(str1[i]>='a'&&str1[i]<='z')
str1[i]=str1[i]-'a'+'A';
v[str1[i]]=1;
}
for(int i=0;str2[i]!=0;i++){
if(str2[i]>='a'&&str2[i]<='z')
str2[i]=str2[i]-'a'+'A';
v[str2[i]]=0;
}
for(int i=0;str1[i]!=0;i++)
if(v[str1[i]]==1){
printf("%c",str1[i]);
v[str1[i]]=0;
}
printf("\n");
}
return 0;
}