当前位置: 首页 > article >正文

洛谷 B2135:单词替换

【题目来源】
https://www.luogu.com.cn/problem/B2135

【题目描述】
输入一个字符串,以回车结束(字符串长度 ≤200)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

【输入格式】
第 1 行是包含多个单词的字符串 s;
第 2 行是待替换的单词 a(长度 ≤100);
第 3 行是 a 将被替换的单词 b( 长度≤100)。
s,a,b 最前面和最后面都没有空格。

【输出格式】
输出只有 1 行,将 s 中所有单词 a 替换成 b 之后的字符串。

【算法分析】
字符串的算法设计题,若直接使用字符串提供的函数,会简单很多。
本题可参考 POJ 3981(
https://blog.csdn.net/hnjzsyjyj/article/details/134097986)的解法来做。其中,用到了字符串提供的 find 函数及 replace 函数。

【算法代码】

#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    string a,b;
    int pos;
    getline(cin,s);
    cin>>a>>b;
    while((pos=s.find(a))!=-1){
        s.replace(pos,a.size(),b);
    }        
    cout<<s<<endl;

    return 0;
}

/*
in:
You want someone to help you
You
I

out:
I want someone to help you
*/


【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/134097986











 


http://www.kler.cn/news/108769.html

相关文章:

  • 2022年上半年上午易错题(软件设计师考试)
  • 信息检索与数据挖掘 | 【实验】排名检索模型
  • Cesium弹窗可随地图移动
  • 神经网络与深度学习第四章前馈神经网络习题解答
  • 搞定蓝牙-第六篇(HID
  • FL Studio21.2演示版下载
  • [Leetcode] 0108. 将有序数组转换为二叉搜索树
  • unity3d场景加载
  • Sprint Cloud Stream整合RocketMq和websocket实现消息发布订阅
  • 设置Ubuntu 20.04的静态IP地址(wifi模式下)
  • 全能数字音乐工作站(DAW)编曲FL Studio21.2.0官方中文版
  • python之拟合圆心及半径
  • Opencv-图像插值与LUT查找表
  • IntelliJ IDEA 把package包展开和压缩
  • Ubuntu 22.04自动登录进入桌面
  • Error: error:0308010C:digital envelope routines::unsupported
  • YOLOv7-QAT量化部署
  • 软考系统架构师知识点集锦二:软件工程
  • 51单片机实验:数码管动态显示00-99
  • Vert.x学习笔记-异步编程和响应式系统
  • 云安全-云原生技术架构(Docker逃逸技术-特权与危险挂载)
  • 外部中断0边沿触发
  • Docker中Failed to initialize NVML: Unknown Error
  • 3DMAX快速瓦片屋顶铺设插件使用方法详解
  • JavaScript进阶知识汇总~
  • Linux--进程替换
  • C++中的成员变量内存布局
  • MinIO安装
  • Ubuntu ARMv8编译Qt源码以及QtCreator
  • NEFU数字图像处理(三)图像分割