//只需稍微修改一下就能满足你的要求了
#include
#include
#define N 1024
void sort(char *pt);
void bingji();
void jiaoji();
void chaji();
char str1[N],str2[N];
int main()
{
printf("请输入两个全由小写字母构成的字符串,每行一个:\n");
gets(str1);
gets(str2);
bingji();
jiaoji();
chaji();
system("PAUSE");
return EXIT_SUCCESS;
}
void sort(char *pt)
{
int i,j;
char c;
for(i=0;i
for(j=strlen(pt)-1;j>i;j--)
{
if(pt[j]
c=pt[j-1];
pt[j-1]=pt[j];
pt[j]=c;
}
}
}
}
int iscontain(char a[],int len,char c)
{
int i;
for(i=0;i
if(c==a[i])
{
return 1;
}
}
return 0;
}
void bingji()
{
int i,j,len,len1=strlen(str1),len2=strlen(str2);
char* buf=(char*)calloc(len1+len2+1,sizeof(char));
for(i=0,j=0,len=0;i
if(i
if(!iscontain(buf,len,str1[i]))
{
buf[len++]=str1[i];
}
i++;
}
if(j
if(!iscontain(buf,len,str2[j]))
{
buf[len++]=str2[j];
}
j++;
}
}
buf[len]='\0';
sort(buf);
printf("%s\n",buf);
free(buf);
}
void jiaoji()
{
int i,len,len1=strlen(str1),len2=strlen(str2);
char buf[N];
for(i=0,len=0;i
if(!iscontain(buf,len,str1[i]) && iscontain(str2,len2,str1[i]))
{
buf[len++]=str1[i];
}
}
buf[len]='\0';
sort(buf);
printf("%s\n",buf);
}
void chaji()
{
int i,len,len1=strlen(str1),len2=strlen(str2);
char buf[N];
for(i=0,len=0;i
if(!iscontain(buf,len,str1[i]) && !iscontain(str2,len2,str1[i]))
{
buf[len++]=str1[i];
}
}
buf[len]='\0';
sort(buf);
printf("%s\n",buf);
}
这个。。。要睡觉了。。。有空再来吧。