第15周 oj (FINAL)Problem M: 字符串的修改(串)
来源:互联网 发布:ipad air2软件下载 编辑:程序博客网 时间:2024/05/06 23:15
问题及代码:
/*Copyright(c)2016,烟台大学计算机学院 all rights reserved.作者:曹欣宇指导教师:贺利坚完成日期:2016年12月12日题目描述 一个字符串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;}
运行结果:
知识点总结:.......
学习心得:最后一个题果然难啊,努力了半天编不出来....代码是参考的同学的(变量设的就不想看...).....功力不够啊.....
0 1
- 第15周 oj (FINAL)Problem M: 字符串的修改(串)
- 第15周 oj Problem L: 字符串替换(串)
- 第15周 oj Problem G: 将字符串插入到另一个字符串的指定位置(串)
- 第15周 oj Problem F: 将字符串格式化后输出(串)
- 第15周 oj Problem K: 包含B的字符串
- 第15周 oj Problem B: 字符串分段(串)
- 第15周 oj Problem A: 字符串处理new
- 第15周 oj Problem C: 字符串逆序输出
- 第15周 oj Problem I: 统计字符串种类
- 第11周 oj (FINAL)趣味取小数
- 第18周oj项目复仇者联盟之关灯(删除带有m及是m倍数的数字)
- 第15周OJ实践7 将字符串插入到另一个字符串的指定位置(串)
- 第15周 oj Problem D: C语言习题 字符串长度
- 第15周 oj Problem E: 写一函数,将两个字符串连接
- 第15周 oj Problem H: 判断字符串是否为回文
- 第15周 oj Problem J: C语言习题 字符串比较
- 第15周OJ实践6 将字符串格式化后输出(串)
- 第15周OJ实践11 包含B的字符串
- Uva10474
- 设计并实现同时支持多种视频格式的流媒体点播系统
- Android开发实践:在任意目录执行NDK编译
- laravel 服务类的自动注入
- CSS 预处理器与 CSS 后处理器
- 第15周 oj (FINAL)Problem M: 字符串的修改(串)
- html总结
- Android开发之百分比布局
- java线程介绍
- POJ 2516 Minimum Cost(最小费用最大流)
- javac编译出现”编码 GBK 的不可映射字符“错误
- Linux命令学习之crontab
- JavaScript函数的实例属性和类属性
- (综合)进程间通信方式