题目:删除指定字符
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;
}
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入"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;
}
相关文章推荐
- USB Type-C 设计
- Wifi涉及到的API
- erlang四大behaviour之四-supervisor(转载)
- JavaScript语言基础知识10
- ______________从时间超限到800ms 到200ms——————2098
- iOS开发用正则表达式验证身份证,邮箱,手机号等
- 过滤特殊字符
- StringBuffer的用法
- html5 websocket 简单实现
- nginx+tomcat+redis(单点)
- 完数 hdoj1406
- 使用Kompex事务功能
- 你还在为无法完美卸载SQL Server 2008 R2而烦恼吗?
- Nginxs学习-1安装Nginx 将Nginx作为静态网页服务器
- 1118有限自动机的识别与构造
- ubuntu系统安装mysql(deb-bundle包)
- RTB竞价中的cookie mapping技术
- 自己项目中做的UI布局
- 自己项目中做的UI布局
- 自己项目中做的UI布局