pat字符串-02
来源:互联网 发布:中国实力知乎 编辑:程序博客网 时间:2024/06/05 20:43
字符串-02. 删除字符串中的子串(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
白洪欢(浙江大学)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
输入格式:
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。
输出格式:
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。
输入样例:Tomcat is a male ccatatcat输出样例:
Tom is a male
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int get_address(const char * s1, const char *s2)//判断字符串中是否有子串{//printf("hh");int i, j = 0, k, len, flag, t;len = strlen(s2);for(i = 0; s1[i]; i++){flag = 1;if(s1[i] == s2[j]){k = t = i;j++;for(++t; t < k + len; t++){if(s1[t] != s2[j]){flag = -1;break;}j++;}if(flag == 1){return i;}else{j = 0;}}}return -1;}int main(){char s1[85], s2[85], *str = NULL;gets(s1);gets(s2);int len1, len2, i, flag = -1;if(strstr(s1, s2) == NULL)//如果没有子串直接输出就好了{puts(s1);}else{flag = get_address(s1, s2);//len1 = strlen(s1);len2 = strlen(s2);//printf("%d\n", flag);while(flag != -1){len1 = strlen(s1);//printf("%d\n", len1); int index = len2;for(i = flag ; i < len1 - len2; i++)//很笨的方法,逐个删除字符,不过最后还是过了,说明数据比较水{s1[i] = s1[i + index];}s1[i] = 0;//printf("%d\n", strlen(s1));puts(s1);flag = get_address(s1, s2);}puts(s1);}//puts(s2);return 0;}
0 0
- pat字符串-02
- pat 1061 字符串比较
- PAT 1077. Kuchiguse (字符串处理)
- PAT 命令For分割字符串
- PAT练习之字符串处理
- PAT 1071 Speech Patterns (字符串处理)
- pat 1077. Kuchiguse (字符串水题)
- PAT 1006 相关字符串函数应用
- 删除字符串中的子串 PAT
- 浙大PAT甲级 1071 字符串计数
- PAT 1035. Password (20)(修改字符串)
- PAT--1060. Are They Equal(字符串处理)
- pat 甲 1112. Stucked Keyboard (字符串)
- PAT-B] 1009. 说反话 [字符串处理]
- PAT-L1-011. A-B(字符串处理)
- PAT 1073. Scientific Notation (20) 字符串处理
- pat 1110----C++的字符串不行啊
- pat
- CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)
- 23读取联系人移植到项目中
- 运用指针,调用函数来是3个数从大到小输出(通过异或来交换大小)
- UIView获取屏幕Screen中的坐标位置
- GUI 匿名类
- pat字符串-02
- 深度学习BP算法的推导(附加RNN,LSTM的推导说明)
- 比较perl+python
- LeetCode Min Stack
- php小知识点
- PHP引用(&)使用详解
- PipedInputStream和PipedOutputStream管道流
- hdu 1018 log10()
- 基于json-lib.jar包 创建JSONObject的四个常用方法