您的位置:首页 > 其它

九度-1168 字符串的查找删除

2013-09-17 12:46 239 查看
题目描述:

给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

输入:

输入只有1组数据。

输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

输出:

删除输入的短字符串(不区分大小写)并去掉空格,输出。

样例输入:
in
#include
int main()
{

printf(" Hi ");
}


样例输出:
#clude
tma()
{

prtf("Hi");
}


提示:

注:将字符串中的In、IN、iN、in删除。

代码:

# include <stdio.h>
# include <string.h>
void trans(char*a,char*b,int len)
{
int i;
for (i=0;i<len;i++)
{
if (a[i]>='A'&&a[i]<='Z')
b[i]=a[i]+32;
else
b[i]=a[i];
}
b[i]='\0';
}

int main ()
{
char s[100],s2[100],in[100][100],in2[100][100],t;
int i,j,len,slen,end;
gets(s);
len=strlen(s);
trans(s,s2,len);
i=0;
while (gets(in[i])!=NULL)
{
trans(in[i],in2[i],strlen(in[i]));
i++;
}
slen=i;
for (i=0;i<slen;i++)
{
j=0;
while (strlen(in2[i])-j>=len)
{
end=j+len;
t=in2[i][end];
in2[i][end]='\0';
if (strcmp(s2,&in2[i][j])==0)
{
for (;j<end;j++)
in2[i][j]=' ';
}
else
j++;
in2[i][end]=t;
}
}
for (i=0;i<slen;i++)
{
for (j=0;j<strlen(in2[i]);j++)
if (in2[i][j]!=' ')
printf ("%c",in[i][j]);
if (i!=slen-1)
printf ("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: