第十五周 OJ总结<13>--字符串比较
来源:互联网 发布:单片机电子琴c程序 编辑:程序博客网 时间:2024/04/27 08:48
Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:OJ总结<13>--包含B的字符串
作 者:王兴振
完成日期:2016年12月13日
版 本 号:未知
题目描述:
一个字符串s、一个字符串t,判断t是否是s的子串,若是则将s中所有出现了t串的地方换成指定的字符或字符串p,若不是,则输出NO
输 入:
一个字符串s、一个字符串t,要换的字符或字符串
输 出:
输出修改后的s串
样例输入:
asdfasdf
132
saf
样例输出:
NO
答 案:
#include <stdio.h>#include <string.h> int main(){ int i=0,j,p=0,u=0,o,g,x,d; char a[80],b[80],c[80]; gets(a); gets(b); gets(c); while(a[i]!='\0') { x=1; o=i; for(j=0;j<strlen(b);j++) { if(a[i]==b[j]) p++; i++; } i=o; if(p==strlen(b)) { u=1; j=0; if(strlen(b)==strlen(c)) for(j=0;j<strlen(b);j++) { a[i]=c[j]; i++; } else if(strlen(b)>strlen(c)) for(j=0;j<strlen(a);j++) { if(x) for(g=0;g<strlen(c);g++) { a[i]=c[g]; i++; x=0; j=g; } a[i]=a[i+strlen(b)-strlen(c)]; i++; } else if(strlen(b)<strlen(c)) for(j=0;j<strlen(c);j++) { d=strlen(c)-strlen(b); if(x) for(g=strlen(a);g>i+d;g--) { a[g+1]=a[g]; x=0; } a[i]=c[j]; i++; } } p=0; i=o; i++; } if(u) printf("%s", a); else printf("NO\n"); return 0;}
总 结:
这个题好难,磨了好久出来的,笨办法,对每个字符进行判断,先判断是不是子字符串,再分三种情况,就是被替换字符串和替换字符串长度大小关系,
再对每一种情况替换就行了。
1 0
- 第十五周 OJ总结<13>--字符串比较
- 第十五周 OJ总结<10>--字符串比较
- 第十五周 OJ 字符串比较
- 第十五周oj题目字符串比较
- 第十五周OJ (9)字符串比较
- 第十五周OJ——字符串比较
- 第十五周 OJ总结<4>--字符串长度
- 第十五周OJ项目J字符串的比较
- 第十五周 字符串比较
- 第十五周 OJ总结<1>--字符串处理new
- 第十五周 OJ总结<2>--字符串分段(串)
- 第十五周 OJ总结<3>--字符串逆序输出
- 第十五周 OJ总结<5>--将两个字符串连接
- 第十五周 OJ总结<8>--将两个字符串连接
- 第十五周 OJ总结<9>--统计字符串种类
- 第十五周 OJ总结<11>--包含B的字符串
- 第十五周 OJ总结<12>--包含B的字符串
- 第十五周 Oj 字符串处理
- Eclipse快捷键
- scanf和getchar的区别,getchar的妙用
- JavaScript幸运数字游戏
- 处理图片时 想要将图片缩小或放大时候的设置
- JAVA 解析复杂的json字符串
- 第十五周 OJ总结<13>--字符串比较
- 水~~~数值统计
- 关于解决MacOS uwsgi 无法安装的问题
- 神炎皇【NOIP2017提高组模拟12.10】
- 上海国际学校该怎么选
- SqlServer高效分页查询
- ubuntu
- ssl openjdk的坑
- 十六招成为大型软件项目的开发英雄