1635: 【作】【入门】字符替换
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:12
解决:5
题目描述
把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。
输入
只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于100个字符,且不含空格等空白符;
接下来一个字符为需要被替换的特定字符;
接下来一个字符为用于替换的给定字符。
接下来一个字符为需要被替换的特定字符;
接下来一个字符为用于替换的给定字符。
输出
一行,即替换后的字符串。
样例输入 复制
hello-how-are-you o O
样例输出 复制
hellO-hOw-are-yOu
提示
C/C++提示:
分别掌握使用s[i]直接更改以及replace函数替换的实现;
解法一:
#include <bits/stdc++.h> using namespace std; int main(){ //判断每个字符是否是要替换的字符 //如果是,则直接替换成新字符 string s; char c1,c2; cin>>s>>c1>>c2; int i; for(i = 0;i<s.size();i++){ if(s[i] == c1){ s[i]= c2; } } cout<<s; return 0; }
解法二:使用replace函数替换
#include <bits/stdc++.h> using namespace std; int main(){ //当s中含有字符c1时,替换为字符c2 string s; string c1,c2; cin>>s>>c1>>c2; int p = s.find(c1); while(p != -1){ s.replace(p,1,c2); p = s.find(c1); } cout<<s; return 0; }