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

题目描述:

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

输入:

输入只有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;    
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值