编写一个函数,它的功能是将未在字符串s中出现,而在字符串t中出现的字符,型参一个新的字符串放在u中,
u中的字符按原字符的顺序排列,但要去掉重复字符
至少会想到去考察t,以t为标准
s="12345";
t="224677";
u="67"
//方法一:
void funa(char *s,char *t,char *u)
{
int i,j,k=0,m;
for(i=0;i<strlen(t);i++)
{
for(j=0;j<strlen(s);j++)
{
if(t[i]==s[j])//t[i]包含在s中
{
break;
}
}
if(j==strlen(s))//如果t[i]不存在于s中
{
if(k==0)//第一个时
{
u[k++]=t[i];
}
for(m=0;m<k;m++)//第二个开始检查u中是否已经存在
{
if(t[i]==u[m])
break;
}
if(m==k)
{
u[k++]=t[i];
}
}
}
u[k]='\0';
}
方法二:
int find(char *str,char findcahr)
{
int i;
for(i=0;str[i];i++)
{
if(str[i]==findchar)
return 1;
}
return 0;
}
void funa(char *s,char *t,char *u)
{
int i,j=0,k=0,m;
for(i=0;t[i];i++)//如果t[i]不在s中并且不在u中就放入到u中
{
if(findchar(s,t[i])==0 && findchar(u,t[i])==0)
{
u[j++]=t[i];//表示吧t[i]放入u[j]里面去
}
}
//退出循环后,应该把t[j]做成\0
u[j]='\0';
}
main()
{
char s[20]="13745";
char t[20]="2246778899";
char u[20]="";
funa(s,t,u);
puts(u);
}