OJ题目:click here~~
题目分析:输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。删除字符串中所有短字符串,不区分大小写。
AC_CODE C++版
int main(){
//freopen("in.txt" , "r" , stdin) ;
int i , j , k , t , cnt ;
string scr , tar , tar2;
cin >> scr ;
int len = scr.size() ;
for(i = 0;i < len;i++)
if('A' <= scr[i] && scr[i] <= 'Z') scr[i] = scr[i] + 'a' - 'A' ;
getline(cin , tar) ;
while(getline(cin , tar)){
tar2 = tar ;
for(i = 0;i < tar.size();i++)
if('A' <= tar[i] && tar[i] <= 'Z') tar[i] = tar[i] + 'a' - 'A' ;
string::size_type pos ;
while((pos = tar.find(scr)) != string::npos) {tar.erase(pos , len) ;tar2.erase(pos , len) ;}
while((pos = tar2.find(" ")) != string::npos) {tar2.erase(pos , 1) ;}
cout << tar2 << endl ;
}
return 0 ;
}
AC_CODE C语言版
int main(){
//freopen("in.txt" , "r" , stdin) ;
int i , j , k , t , cnt ;
char s[100] ;
scanf("%s" , s) ;
int len = strlen(s) ;
char ch ;
i = 0 ;
ch = getchar() ;
while((ch = getchar()) != EOF){
if(tolower(ch) == tolower(s[i])){
s[i] = ch ;
i++ ;
if(i >= len)
i = 0 ;
}
else{
if(i == 0 && ch != ' ')
putchar(ch) ;
if(i != 0){
for(j = 0;j < i;j++)
putchar(s[j]) ;
i = 0 ;
if(ch != ' ')
putchar(ch) ;
}
}
}
return 0 ;
}