您的位置:首页 > 其它

题目:删除指定字符

2015-12-11 17:46 232 查看
题目:

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。

例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成"Thy r stdnts."。

自己调试的小程序:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

/************************************************************************

* NAME: char *Find_Char_Replace_Blank(char *str_word, char *str_check)

* INPUT: char *str_src 被查找的单词

* char *str_check 要查找的字符

* OUTPUT: NULL

* RETURN: char * 将查到的字符删除之后的单词

* STATE: 函数实现在源单词里查找指定字符串里的字符,将找到的字符删除,

* 最后将字符串返回

************************************************************************/

char *Find_Char_Word_Del(char *str_word, char *str_check)

{

int i = 0, j = 0, k = 0, n = 0;

int size = 1024, len_word = 0, len_check = 0;

char *src = str_word;

char *check = str_check;

char *tmp = (char *)malloc(size);

len_word = strlen(str_word);

len_check = strlen(str_check);

for(i = 0; i < len_check; i++)

{

for(j = 0; j < len_word; j++)

{

if(src[j] == check[i])

{

src[j] = ' ';

}

}

}

for(k = 0; k < len_word; k++)

{

if(src[k] != ' ')

{

tmp
= src[k];

n++;

}

}

return tmp;

}

/************************************************************************

* NAME: void Find_Char_Str_Del(char *str_src, char *str_check)

* INPUT: char *str_src 被查找的字符串

* char *str_check 要查找的字符

* OUTPUT: NULL

* RETURN: char * 将查到的字符删除后的字符串

* STATE: 函数实现在源字符串里查找指定字符串里的字符,将找到的字符删除

* 最后将字符串打印出来

************************************************************************/

void Find_Char_Str_Del(char *str_src, char *str_check)

{

int size = 0, len = 0, i = 0, j = 0, flag = 0;

char *buff = (char *)malloc(size);

char *src = str_src;

char *check = str_check;

char *result = NULL;

len = strlen(str_src);

for(i = 0; i < len; i++)

{

if(src[i] == ' ')

{

if(flag == 1)

{

result = Find_Char_Word_Del(buff, check);

flag = 0;

printf("%s", result);

printf(" ");

memset(buff, 0, size);

j = 0;

}

else

{

continue;

}

}

else

{

flag = 1;

buff[j] = src[i];

j++;

}

}

result = Find_Char_Word_Del(buff, check);

printf("%s", result);

}

/*******************************************************************

*输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。

*例如:输入"They are students."和"aeiou",则删除之后的第一个字符串

*变成"Thy r students."。

*******************************************************************/

int main(void)

{

int size =1024;

char buff1[1024] = {'\0'};

char buff2[1024] = {'\0'};

printf("Please input the source string:\n");

printf("-----------------------------------------\n");

fgets(buff1, size, stdin);

printf("Please input the check string:\n");

printf("-----------------------------------------\n");

fgets(buff2, size, stdin);

Find_Char_Str_Del(buff1, buff2);

return 0;

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