输入一行字符串将其中的单词替换成另一单词

简介: 输入一行字符串将其中的单词替换成另一单词

🌵🌵🌵前言

题目

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

  • 输入格式
输入共 3 行。
第 1 行是包含多个单词的字符串 s;

第 2 行是待替换的单词 a(长度不超过 100);
第 3 行是 a 将被替换的单词 b(长度不超过 100)。

  • 输出格式

共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。

  • 输入样例:

You want someone to help you
You
I

  • 输出样例:

I want someone to help you

方法1:用ssin串流

//可以getline(cin,str) 直接读入一行

#include <iostream>
#include <sstream>
using namespace std;
string x[100000];

int main(){
    string str,a,b;

    getline(cin,str);
    cin>>a>>b;

    stringstream ssin(str);
    //stringstream的作用就是从string对象读取字符或字符串。

    string s;
    while(ssin>> s){ //s即为从str读出的字符/字符串
        if(s==a) cout<<b<<" ";
        else cout<<s<<" ";
    }
    return 0;
}

方法2:正常输入穷尽遍历比较

//可以getline(cin,str) 直接读入一行

#include <iostream>
#include <sstream>
using namespace std;
string x[100000];

int main(){
    string str,a,b;

    // getline(cin,str);
    // cin>>a>>b;

    int num=0;
    while(cin>>str){//读入所有的字符串
        x[num]=str;
        num++;
    }

    a=x[num-2],b=x[num-1]; //取出a,b
    // cout<<a<<" "<<b<<endl;

    for(int i=0;i<num-2;i++){//比较替换
        if(x[i]==a) {
            x[i]=b;
        }

    }

    for(int i=0;i<num-2;i++){//输出
        cout<<x[i]<<" ";
    }
    return 0;
}
目录
相关文章
如何去掉字符串开头,结尾或者中间的空格及其他不想要的字符
去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。
|
7月前
|
C语言
【汇编语言实战】给定一个句子,将大写字母变为小写
【汇编语言实战】给定一个句子,将大写字母变为小写
81 1
|
6月前
字符串\单词本管理
字符串\单词本管理
29 1
|
7月前
|
Java
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
161 38
|
7月前
|
Java 容器
java字符串练习题2、反向输出英文字符串
java字符串练习题2、反向输出英文字符串
48 0
|
Python
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
1098 0
|
C语言 C++
连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。直到输入结束:(按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF)分别使用C和C++实现。
连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。直到输入结束:(按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF)分别使用C和C++实现。
lodash转换字符串为空格分隔的大写单词
lodash转换字符串为空格分隔的大写单词
86 0
|
算法 Java 索引
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?
给定一个字符串 s 和一些长度相同的单词 words串联所有单词的子串
156 0
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?