直接上题目

你需要开发一款文字处理软件。最开始时输入一个字符串(不超过 100 个字符)作为初始文档。可以认为文档开头是第 0 个字符【这一句话还是很重要的,仔细阅读】。需要支持以下操作:

  • 1 str:后接插入,在文档后面插入字符串 str,并输出文档的字符串。

  • 2 a b:截取文档部分,只保留文档中从第 a 个字符起 b 个字符,并输出文档的字符串。

  • 3 a str:插入片段,在文档中第 a 个字符后面插入字符串 str,并输出文档的字符串。

  • 4 str:查找子串,查找字符串 str 在文档中最先的位置并输出;如果找不到输出 -1。

为了简化问题,规定初始的文档和每次操作中的 str 都不含有空格或换行【不含空格实在是太友好了】。最多会有 q(q\le100)q(q≤100) 次操作。

思路:

毫无疑问,这道题可以直接用C++的STL库,非常方便就可以AC

但是作为小萌新的我有点记不太清楚STL库的函数了,那么只好手搓了

上代码:

#include <iostream>
#include <string.h>
using namespace std;int main()
{char ch[10010]={0};int q,x,y;cin >> q;cin >> ch;for (int i = 0; i < q; i++){char ch1[10010]={0};int k=0;int z=0;int c=0;cin >> x;if (x==1){cin >> ch1;y = strlen(ch);for (int j = 0; ch1[j] != 0; j++, y++){ch[y] = ch1[j];}cout << ch << endl;continue;} else if (x==2){cin >> x >> y;k = x;for (int j = 0; j < y; j++,k++){ch[k-x] = ch[k];}for (int j = y; ch[j] != 0; j++){ch[j] = 0;}cout << ch << endl;continue;} else if (x==3){cin >> x;cin >> ch1;y = strlen(ch1);for (int j = x; ch[j] != 0; j++,y++){ch1[y] = ch[j];}for (int j = 0; ch1[j] != 0; j++,x++){ch[x] = ch1[j];}cout << ch << endl;continue;} else if (x==4){cin >> ch1;y = strlen(ch1);for (int j = 0; ch[j] != 0; j++){if (ch[j] == ch1[0]){k = j;z = 0;c = j;for (int p = 0; ch1[p] != 0; p++,c++){if (ch[c] == ch1[p])continue;else {z = 1;break;   }}if (z == 0){cout << k << endl;goto leave;}}}cout << -1 << endl;leave: continue;}}return 0;
}

最后:

该函数还可以使用四个子函数,这样也方便在出现WA的时候,对代码进行修改

欢迎大家在讨论区讨论

P5734 文字处理软件 C++题解相关推荐

  1. 【洛谷】 P5734 文字处理软件

    你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以认为文档开头是第 0 个字符.需要支持以下操作: 1 str:后接插入,在文档后面插入字符串 str,并输 ...

  2. 【洛谷题解】P5734 【深基6.例6】文字处理软件(C语言)

    P5734 [深基6.例6]文字处理软件 题目描述 你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以认为文档开头是第 0 个字符.需要支持以下操作: 1 ...

  3. 洛谷 P5734 【深基6.例6】文字处理软件 字符串处理

    洛谷 P5734 [深基6.例6]文字处理软件 题目描述 你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以认为文档开头是第 0 个字符.需要支持以下操作: ...

  4. 【寒假每日一题】洛谷 P5734 【深基6.例6】文字处理软件

    题目链接:P5734 [深基6.例6]文字处理软件 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 你需要开发一款文字处理软件.最开始时输入一个字符串作为初始文档.可以认为 ...

  5. P5734 【深基6.例6】文字处理软件[c++版]

    题目链接 https://www.luogu.com.cn/problem/P5734 传送门 题目描述 你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以 ...

  6. 洛谷 P5734 【深基6.例6】文字处理软件

    题目 题目描述 你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以认为文档开头是第 0 个字符.需要支持以下操作: 1 str:后接插入,在文档后面插入字符 ...

  7. 洛谷:文字处理软件(P5734)

    你需要开发一款文字处理软件.最开始时输入一个字符串(不超过 100 个字符)作为初始文档.可以认为文档开头是第 0 个字符.需要支持以下操作: 1 str:后接插入,在文档后面插入字符串 str,并输 ...

  8. OCR文字识别软件的快速任务功能如何用

    2019独角兽企业重金招聘Python工程师标准>>> 在使用ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,经常会执行一系列相同的步骤,如扫 ...

  9. 对OCR文字识别软件进行自动分析和识别设置的教程

    2019独角兽企业重金招聘Python工程师标准>>> ABBYY FineReader 12这款OCR文字识别软件具有着强大的自主功能,在默认情况下,会自动分析并识别 FineRe ...

最新文章

  1. Intel VT学习笔记(六)—— VM-Exit Handler
  2. Odoo(OpenERP)配置文件详解
  3. 判断输入的数是否质数,求范围内的质数有哪些
  4. 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
  5. 详述WebLogic反序列化远程命令执行漏洞的处理过程,云和恩墨技术通讯精选
  6. kafka 的pom文件_Flink 消费 Kafka 数据
  7. VB6.0 GetTcpTable 使用详解
  8. 计算机组成原理 多级中断,计算机组成原理的大神们能不能帮忙做几道题啊
  9. 下载我的CSDN资源
  10. TCP和UDP区别?如何改进TCP
  11. 移动产品原型和线框图设计工具介绍
  12. java-net-php-python-jsp无锡尚客优酒店客房管理信息系统mp4计算机毕业设计程序
  13. Is Open Source Dying? Case Not Proven
  14. 【CK】ClickHouse入门
  15. Golang(二十八)[map-底层数据结构]
  16. 怎样把PDF图片旋转90度
  17. Verilog 边沿检测电路
  18. 蒙特卡洛树搜索(The monte carlo search tree)
  19. 远程shell特洛伊木马病毒
  20. [经验分享] 覃超线上直播课-模拟面试

热门文章

  1. python输入q结束程序_试图让一个Python程序以字母“q”退出,但是输入是一个整数?...
  2. 最好的职业经理人应像个演员
  3. CC3200 调试记录——XDCtools版本导致的编译不过
  4. 北京工业大学 大一C语言课程设计--四子棋(Bingo)(连子游戏)in TurboC 3.0
  5. Capricorn's Trial F - 6 HDU - 2181 哈密顿绕行世界问题
  6. 二叉树的层次遍历(图解、思想、与实现)
  7. Pytorch深度学习实战教程(一):语义分割基础与环境搭建
  8. 基于JavaWeb的理发店管理系统
  9. public文件夹访问
  10. 纳税服务系统七(投诉管理模块)【显示投诉信息、处理回复、我要投诉、Quartz自动受理、统计图FusionCharts】...