注意PAT系统使用gets函数需要用C编译,如果用C++编译会出现编译错误。
这道题很简单,边遍历边输出。

#include<stdio.h>
#include<string.h>
# define maxn 1000010
char str1[maxn], str2[maxn];
int hash[128]={0};
int main(){
	gets(str1);
	gets(str2);
	int len1=strlen(str1);
	int len2=strlen(str2);
	int i; 
	for(i=0;i<len1;i++){
		if(hash[str1[i]-0]==0)  
			printf("%c",str1[i]);
			hash[str1[i]-0]=1;  //标识为出现过了 
	}
	for(i=0;i<len2;i++){
		if(hash[str2[i]-0]==0)
			printf("%c",str2[i]);
			hash[str2[i]-0]=1;//标识为出现过了 
	}
	printf("\n");
	return 0;
}