fzu2122
来源:互联网 发布:淘宝出售假冒违规处罚 编辑:程序博客网 时间:2024/05/22 22:37
这个题牛逼啊! 只能怪自己功力不足…………
我 的数组开到了10万多才过的!
具体看代码吧!
#include<iostream>#include<cstring>#include<string>using namespace std;char a[105],b[130],c[110105],s[110105];int main(){ int i,j,k,l; while(gets(a)!=NULL) { gets(b); gets(c); int l1=strlen(a); int l2=strlen(b); int l3=strlen(c); for(i=0;i<=l3-l1;i++) //因为c数组后如果没有l1那么大了,就不必讨论了! { int f=1; for(j=0;j<l1;j++){if(tolower(a[j])!=tolower(c[i+j])){ //tolower是一种函数,功能是把字母字符转换成小写。 f=0;break;}}if(f) // 对字符串进行处理! {strcpy(s,c); //首先将c数组copy到s数组中! strcpy(&s[i],b); //再将b数组copy到以s[i]含s[i]的后面 strcpy(&s[i+l2],&c[i+l1]); //再将c[i+l1]含c[i+l1]后面的copy到 s[i+l2]含c[i+l1]的后面! strcpy(c,s);//再将s数组copy到c上; i+=l2-1;l3=strlen(c);}}cout<<c<<endl; }return 0;}
方法:
字符串替换 语法:replace(char str[],char key[],char swap[]); 参数: str[]:在此源字符串进行替换操作 key[]:在源程序中被替换的字符串,不能为空串 swap[]:替换的字符串,可以为空串,为空串表示在源字符中删除key[] 返回值:null 注意: 默认str[]长度小于1000,如否,重新设定设定tmp大小 需要 string.h 源程序: void replace(char str[],char key[],char swap[]) { int l1,l2,l3,i,j,flag; char tmp[1000]; l1=strlen(str); l2=strlen(key); l3=strlen(swap); for (i=0;i<=l1-l2;i++) { flag=1; for (j=0;j<l2;j++) if (str[i+j]!=key[j]) {flag=0;break;} if (flag) { strcpy(tmp,str); strcpy(&tmp[i],swap); strcpy(&tmp[i+l3],&str[i+l2]); strcpy(str,tmp); i+=l3-1; l1=strlen(str); } } }
0 0
- fzu2122
- Quartus调用Modelsim SE避免重复编译Altera器件库的方法
- set的特点
- 超长正整数相加
- Linux下的platform总线驱动(一)
- Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and tr
- fzu2122
- 60. Permutation Sequence
- JavaScript的捕获和冒泡
- Android 新版NDK环境搭建(免Cygwin)
- Android学习之RecylerView实习仿支付宝充值界面
- Linux内核分析实验六
- 05-树7 堆中的路径 (25分)
- 关于eclipse下开发android应用的几个常用插件
- cs231n 用卷积神经网络来进行图像识别