题目描述
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
输入
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
输出
删除输入的短字符串(不区分大小写)并去掉空格,输出。
样例输入 Copy
in #include int main() { printf(" Hi "); }
样例输出 Copy
#clude tma() { prtf("Hi"); }
提示
注:将字符串中的In、IN、iN、in删除。
思路: 先判断需要处理的字符串与子字符串的长度,若子字符串长,则原字符串不需要处理;
否则,依次比较待处理字符串的字符str[i]是否与子字符串的第一个字符sub[0](不区分大小写)相同,不同则i++,否则进行下面的比较:判断str[j] == sub[i]是否成立,若成立则i,j各自加1,否则退回。(该过程有点类似于朴素模式匹配算法)。
代码如下:(字符数组一定要进行初始化,否则会出现运行错误)
#include<bits/stdc++.h>
using namespace std;
void cmpare(char str[1000],char sub[1000],char result[1000]){
if(strlen(str) < str