您的位置:首页 > 编程语言 > C语言/C++

厦大C语言上机 1503 字符串处理

2018-01-16 20:27 218 查看
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

来源
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: