将符合条件的字符存储在新字符数组中
给定程序的功能是,将仅在字符串s中出现而不在字符串t中出现的字符,和仅在t中出现而不在字符串s中出现的字符,构成一个新的字符串放在u中,u中字符按原字符串中字符的顺序排列,不去掉重复字符。
例如:当s=“119345”,t="25484″时,u中的字符串应为"119328″。
#include <stdio.h>
#include <string.h>
void fun(char s[], char t[], char u[])
{
int i, j, sl, tl, k = 0;
sl = strlen(s);
tl = strlen(t);
for (i = 0; i < sl; i++)
{
for (j = 0; j < tl; j++)
if (s[i] == t[j])
break;
if (j == tl)
u[k++] = s[i];
}
for (i = 0; i < tl; i++)
{
for (j = 0; j < sl; j++)
if (t[i] == s[j])
break;
if (j == sl)
u[k++] = t[i];
}
u[k] = '\0';
}
int main()
{
char s[100], t[100], u[100];
printf("\nPlease enter string s:");
scanf("%s", s);
printf("\nPlease enter string t:");
scanf("%s", t);
fun(s, t, u);
printf("The result is: %s\n", u);
return 0;
}
运行结果
Please enter string s:65748
Please enter string t:24515
The result is: 67821