编写函数void fun(char *s,char *t,char *p)
编写函数voidfun(char*s,char*t,char*p)将未在字符串s中出现、而在字符串t中出现的字符,形成一个新的字符串放在p中,p中字符按原字符串中字符顺序...
编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
例如: 当s为"12345", t为"8624677"时, p中的字符为: "867";
当s为”good luck”,t为”thank you very much”时,输出:”thanyverm” 展开
例如: 当s为"12345", t为"8624677"时, p中的字符为: "867";
当s为”good luck”,t为”thank you very much”时,输出:”thanyverm” 展开
2个回答
展开全部
函数fun:
void fun(char *s,char *t,char *p)
{ int i,j,k=0,f;
p[0]='\0';
for(i=0;t[i]!='\0';i++)
{ f=1;
for(j=0;s[j]!='\0';j++)
if(t[i]==s[j]) f=0;
for(j=0;p[j]!='\0';j++)
if(t[i]==p[j]) f=0;
if(f)
{ p[k++]=t[i];p[k]='\0'; }
}
}
完整的示例程序:
#include<stdio.h>
void fun(char *s,char *t,char *p);
int main(void)
{ char s[50],t[50],p[50];
printf("S:");
gets(s);
printf("T:");
gets(t);
fun(s,t,p);
printf("P:");
puts(p);
}
void fun(char *s,char *t,char *p)
{ int i,j,k=0,f;
p[0]='\0';
for(i=0;t[i]!='\0';i++)
{ f=1;
for(j=0;s[j]!='\0';j++)
if(t[i]==s[j]) f=0;
for(j=0;p[j]!='\0';j++)
if(t[i]==p[j]) f=0;
if(f)
{ p[k++]=t[i];p[k]='\0'; }
}
}
void fun(char *s,char *t,char *p)
{ int i,j,k=0,f;
p[0]='\0';
for(i=0;t[i]!='\0';i++)
{ f=1;
for(j=0;s[j]!='\0';j++)
if(t[i]==s[j]) f=0;
for(j=0;p[j]!='\0';j++)
if(t[i]==p[j]) f=0;
if(f)
{ p[k++]=t[i];p[k]='\0'; }
}
}
完整的示例程序:
#include<stdio.h>
void fun(char *s,char *t,char *p);
int main(void)
{ char s[50],t[50],p[50];
printf("S:");
gets(s);
printf("T:");
gets(t);
fun(s,t,p);
printf("P:");
puts(p);
}
void fun(char *s,char *t,char *p)
{ int i,j,k=0,f;
p[0]='\0';
for(i=0;t[i]!='\0';i++)
{ f=1;
for(j=0;s[j]!='\0';j++)
if(t[i]==s[j]) f=0;
for(j=0;p[j]!='\0';j++)
if(t[i]==p[j]) f=0;
if(f)
{ p[k++]=t[i];p[k]='\0'; }
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询