程序设计 -- 字符串连接

题目描述
给出两个字符串,将它们进行拼接,拼接过程中每个字符只允许出现一次。

如:两个字符串 s1=" adeab ", s2s2 =" fcadex ",那么连接时 s1留下 adeba(第 2个 a出现过了,就不要了),再将 s2连接上来形成 adebfcx,两个字符串中重复的都过滤掉,但剩余的顺序不要调整。

输入格式
两行,每行一个只包含小写英文字母的字符串。

输出格式
一行,连接后的字符串。

输入样例
abc
daaeb
输出样例
abcde


#include<string.h>
#include<stdio.h>
/*
* 如:两个字符串 s1=" adeab ", s2s2 =" fcadex ",那么连接时 s1留下 adeba(第 2个 a出现过了,就不要了),再将 s2连接上来形成 adebfcx,两个字符串中重复的都过滤掉,但剩余的顺序不要调整。

输入格式
两行,每行一个只包含小写英文字母的字符串。

输出格式
一行,连接后的字符串。

输入样例
abc
daaeb
输出样例
abcde
*/
int main()
{
    char str1[1024], str2[1024];
    int sz[26] = {0};
    scanf("%s%s",&str1,&str2);
    strcat(str1,str2);
    char str3[1024] = { 0 };
    int i = 0;
    int j = 0;
    while (str1[i]!='\0')
    {
        int n = str1[i] - 'a';
        if (sz[n]==0)
        {
            str3[j] = str1[i];
            j++;
            sz[str1[i] - 'a'] = 1;
        }
        i++;
    }
    printf("%s",str3);
    return 0;
}