题目1168:字符串的查找删除
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:6278
解决:2623
-
题目描述:
-
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
-
输入:
-
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
-
输出:
-
删除输入的短字符串(不区分大小写)并去掉空格,输出。
-
样例输入:
-
in #include int main() { printf(" Hi "); }
-
样例输出:
-
#clude tma() { prtf("Hi"); }
-
提示:
-
注:将字符串中的In、IN、iN、in删除。
-
解题过程:不会做,找的答案,但是有一些地方还是看不懂!郁闷。。。。有待进步!!!
-
源代码:
-
1234567891011121314151617181920212223242526272829303132333435363738394041
#include<iostream>#include<string>#include<ctype.h>#include<stdio.h>usingnamespacestd;intmain() {charstr[101];gets(str);string a=str;inti;for(i=0;i<a.size();i++){a[i]=tolower(a[i]);}while(gets(str)){string b=str,c=b;for(i=0;i<b.size();i++) {b[i]=tolower(b[i]);}intt=b.find(a,0);while(t!=string::npos) {c.erase(t,a.size());b.erase(t,a.size());t=b.find(a,t);}t=c.find(' ',0);while(t!=string::npos){c.erase(t,1);t=c.find(' ',0);}cout<<c<<endl;}}/**************************************************************Problem: 1168User: kaoyandaren123Language: C++Result: AcceptedTime:0 msMemory:1520 kb****************************************************************/
本文介绍了一种字符串查找删除算法的实现方式,该算法能够从一系列输入字符串中删除指定的短字符串,并且处理时不区分大小写。通过示例演示了算法的工作流程。
415

被折叠的 条评论
为什么被折叠?



