1503.字符串处理
时间限制: 1000 MS 内存限制: 65536 K
提交数: 461 (0 users) 通过数: 118 (117 users)
问题描述
编写函数 void fun(char *s, char *t, char *p); 将未在字符串s中出现,而在字符串t中出现的字符,形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
s和t的长度均不超过100。当然,你还需要自己写一个main函数。
例如:
当s为"12345",t为"8624677"时,p中的字符为:"867"
当s为"good luck",t为"thank you very much"时,输出:"thanyverm"。
输入格式
第一行是字符串s
第二行是字符串t
输出格式
字符串p
样例输入
12345
8624677
样例输出
867
来源
时间限制: 1000 MS 内存限制: 65536 K
提交数: 461 (0 users) 通过数: 118 (117 users)
问题描述
编写函数 void fun(char *s, char *t, char *p); 将未在字符串s中出现,而在字符串t中出现的字符,形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
s和t的长度均不超过100。当然,你还需要自己写一个main函数。
例如:
当s为"12345",t为"8624677"时,p中的字符为:"867"
当s为"good luck",t为"thank you very much"时,输出:"thanyverm"。
输入格式
第一行是字符串s
第二行是字符串t
输出格式
字符串p
样例输入
12345
8624677
样例输出
867
来源
xmu
#include <stdio.h>
void fun(char *s, char *t, char *p)
{
int map[256] = { 0 };
int ptr_s, ptr_t, ptr_p;
for (ptr_s = 0; s[ptr_s]; ++ptr_s)
map[s[ptr_s]] = 1;
ptr_p = 0;
for (ptr_t = 0; t[ptr_t]; ++ptr_t)
{
if (!map[t[ptr_t]])
{
p[ptr_p++] = t[ptr_t];
map[t[ptr_t]] = 1;
}
}
p[ptr_p] = '\0';
}
int main()
{
char s[105] = { 0 };
char t[105] = { 0 };
char p[105] = { 0 };
gets(s);
gets(t);
fun(s, t, p);
printf("%s\n", p);
return 0;
}