题目:
A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B(ps:这里函数命名不要是remove)
思路:
1.字符串输入输出
2.调用函数(建立新数组)
代码展示如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char delete(char *str,char target);//字符串要用指针传递
int main(void)
{
//先定义字符串
char arr1[100000];//长度尽量大一点吧,这个地方容易出错
char arr2[100000];
//读取
gets(arr1);
gets(arr2);
int len1 =strlen(arr1);
int len2 = strlen(arr2);
//循环再调用函数
for(int i=0;i<len2;i++){//将字符数组2的每个字符循环,和字符数组1的每个字符比较
delete(arr1,arr2[i]);//调用函数,开始删除操作
}
//输出
printf("%s\n",arr1);
return 0;
}
char delete(char *str,char target)//函数定义
{
int i,j=0;
for(i=0;str[i]!='\0';i++){//字符数组1从第一个字符开始循环和字符数组2比较,
if(str[i]!=target) str[j++]=str[i];//如果不相同就开始建立一个新数组
}
str[j]='\0';//字符数组结束标志
return str;
}