从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同字符
void srmerge(char *a,char *b,char *c)
{
char t,*w;
w=c;
while(*a!='\0'&&*b!='\0')
{
t=*a<*b *a++;*b<*a *b++;
(*a++,*b++);
if(*w=='\0')*w=t;
else if(t!=*w) *++w=t;
}
while(*a!='\0')
if(*a!=*w) *++w=*a++;
else a++;
while(*b!='\0')
if(*b!=*w) *++w=*b++;
else b++;
*++w='\0';
}
strsort(char *s)
{
int i,j,n;
char t,*w;
w=s;
for(n=0;*w!='\0';n++)
w++;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s[i]>s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
main()
{
char s1[100],s2[100],s3[200];
printf("\nPlease Input First String:");
scanf("%s",s1);
printf("\nPlease Input Second String:");
scanf("%s",s2);
strsort(s1);
strsort(s2);
s3[0]='\0';
strmerge(s1,s2,s3);
printf("\nResult:%s",s3);
}
不知道你这个问题是否已经解决, 如果还没有解决的话: