Skip to content

14295: 【原4295】String replacement

题目

题目描述

author: LVRY 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4295 ## 问题描述

【注意】本题中, 请不要使用replace()等一系列C/C++包含字符串替换处理的函数。考试结束后将人工检查考试代码,若发现则记为零分。

编写一个程序, 分别按顺序读入以下三个内容:
1. dst:字符串
2. sub:字符串中被替换的子字符串
3. src:替换的字符串

输入输出描述

输入

  • 输入一个字符串dst, 一个被替换的子字符串sub, 一个替换的字符串src, 以空格分隔. dstsrcsrc不包括空格,dstsrc的有效长度(不包括空白字符)不超过100, sub的长度不超过10.

输出

  • 输出替换过后的字符串out, 有效长度不超过200.
    • dst中包含sub, 则进行一次替换,替换dst中最靠近首地址的子字符串; 将替换后的结果再进行检验, 倘若还包含sub, 则继续进行一次替换; 替换到最终的结果没有包含sub为止.
    • 若原字符串中没有被替换的字符串, 则输出No string to replace!.
    • 若替换的字符串含有被替换的子字符串, 则输出error!(先检验dst是否包含sub,再检验src是否包含sub).

程序运行示例1

Sample Input 1

[email protected] sjtu pku

Sample Output 1

[email protected]

程序运行示例2

Sample Input 2

zhiyuan_zhiyuan zhi si

Sample Output 2

siyuan_siyuan

程序运行示例3

Sample Input 3

sssssssjtu ss sj

Sample Output 3

sjsjsjsjtu

程序运行示例4

Sample Input 4

sjtuC++ C++2 C

Sample Output 4

No string to replace!

程序运行示例5

Sample Input 5

[email protected] sjtu sjtu2

Sample Output 5

error!

注意

  • 不能使用replace()等一系列C/C++包含字符串替换处理的函数.
  • 不要显示多余的提示信息, 避免输出判定错误.
  • 注意判断输出信息是否符合要求.

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!