【南理oj】113 - 字符串替换(STL - string)
2016-06-16 13:01
441 查看
点击打开题目
时间限制:3000 ms | 内存限制:65535 KB
难度:2
描述编写一个程序实现将字符串中的所有"you"替换成"we"
输入输入包含多行数据
每行数据是一个字符串,长度不超过1000
数据以EOF结束
输出对于输入的每一行,输出替换后的字符串
样例输入
样例输出
来源水题比赛
上传者hzyqazasdf
这道题有两种思路:
①从原字符串找 " you " ,在原位置上替换为 " we "。最后输出。
②不断把原字符串赋值给 ans 字符串,若遇到 " you " 则赋值 " we "。最后输出ans字符串。
代码如下:
①
②
字符串替换
时间限制:3000 ms | 内存限制:65535 KB难度:2
描述编写一个程序实现将字符串中的所有"you"替换成"we"
输入输入包含多行数据
每行数据是一个字符串,长度不超过1000
数据以EOF结束
输出对于输入的每一行,输出替换后的字符串
样例输入
you are what you do
样例输出
we are what we do
来源水题比赛
上传者hzyqazasdf
这道题有两种思路:
①从原字符串找 " you " ,在原位置上替换为 " we "。最后输出。
②不断把原字符串赋值给 ans 字符串,若遇到 " you " 则赋值 " we "。最后输出ans字符串。
代码如下:
①
#include <cstdio> #include <string> #include <cstring> #include <iostream> #include <algorithm> using namespace std; int main() { string a; int loc; //"you"的位置 while (getline(cin,a)) { loc = a.find("you",0); while (loc != string::npos) //查找失败返回string::npos的值 { a.replace(loc,3,"we"); loc = a.find("you",0); } cout << a << endl; a.clear(); } return 0; }
②
#include <cstdio> #include <string> #include <iostream> #include <algorithm> using namespace std; int main() { string a; while (getline(cin,a)) { int l = a.size(); string ans = ""; for (int i = 0 ; i < l ;) { if (i + 3 < l && a.substr(i,3) == "you") { ans += "we"; i += 3; } else { ans += a[i]; i++; } } a.clear(); cout << ans << endl; } return 0; }
相关文章推荐
- BDL程序搬迁环境应注意的问题
- 为RecyclerView的不同item项实现不同的布局(添加分类Header)
- 梦断代码阅读笔记02
- Linux迁移tomcat所在目录路径
- 我曾遇到的R文件报错的原因之一
- adb 无线连接手机
- The .NET Framework for Users(服务于用户的.net框架)
- Linux Centos-6 Mysql修改密码 不需要输入原密码
- eclipse插件开发——环境问题解决
- iOS开发小技巧之--WeakSelf宏的进化,ios--weakself
- IOS开发-UIView之动画效果的实现方法(合集)
- 二叉parsing树
- js版本问题
- 用vbscript实现ArcMap中的上下标标注功能
- 转:利用JAXB进行xml和javabean之间转换
- Java乱码问题,解决Java乱码
- 15 电气 齐振昊 VB中制作鞍点(老师讲解)K=m+1
- 软件架构的两大流派:组成派、决策派
- 一步步编写SqlHelper类(C#)
- 【Android学习之】深入理解JNI