Problem Link:点击打开链接
题目描述
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
输入描述:
输入只有1组数据。 输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
输出描述:
删除输入的短字符串(不区分大小写)并去掉空格,输出。
输入例子:
in #include int main() { printf(" Hi "); }
输出例子:
#clude tma() { prtf("Hi"); }
AC code:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<map>
#include<math.h>
#include<string.h>
#include<queue>
#include<vector>
#include<set>
#define LL long long
#define exp 1e-9
#define MAXN 1000010
using namespace std;
char *Strlwr(char *str)
{
int i=0;
while(str[i])
{
if(str[i]>='A'&&str[i]<='Z')
{
str[i]+=32;
}
++i;
}
return str;
}
int main()
{
// freopen("D:\\in.txt","r",stdin);
int subLen,i;
char subStr[1010];
char str[1010];
char strTmp[1010];
gets(subStr);
Strlwr(subStr);
subLen=strlen(subStr);
while(gets(str))
{
strcpy(strTmp,str);
Strlwr(strTmp);
i=0;
while(str[i])
{
if(str[i]==' ')
++i;
else if(strncmp(strTmp+i,subStr,subLen)==0)
{
i+=subLen;
}
else
{
printf("%c",str[i]);
++i;
}
}
puts("");
}
return 0;
}