-
题目描述:
-
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
-
输入:
-
输入只有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; }