字符串基础题2道-NYOJ-113(字符串替换)-519(密码发生器)
2016-04-27 14:47
295 查看
题目链接:
http://acm.nyist.net/JudgeOnline/problem.php?pid=113
http://acm.nyist.net/JudgeOnline/problem.php?pid=519
113:
这个题两种做法,分别是常规做法与STL做法;
其中常规做法没什么好讲,STL做法使用到replace()函数与find()函数;
常规做法:
STL做法:
519:
这个题关键是如何实现在题目中提到的缩位操作,我是直接写的递归实现;
代码如下:
仅代表个人观点,欢迎交流探讨,勿喷~~
PhotoBy:WLOP
http://weibo.com/wlop
http://acm.nyist.net/JudgeOnline/problem.php?pid=113
http://acm.nyist.net/JudgeOnline/problem.php?pid=519
113:
这个题两种做法,分别是常规做法与STL做法;
其中常规做法没什么好讲,STL做法使用到replace()函数与find()函数;
常规做法:
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int main() { char str[1050]; while(gets(str)) { int l=strlen(str); for(int i=0;i<l;i++) { if(str[i]=='y'&& str[i+1]=='o' && str[i+2]=='u') { cout<<"we"; i+=2; } else cout<<str[i]; } cout<<endl; } return 0; }
STL做法:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int main() { string ch,ch1="we"; getline(cin,ch); while(ch!="") { int l=ch.length(); string::size_type it; //声明string类型的迭代器 it=ch.find("you"); while(it<l) //注意结束条件 { ch.replace(ch.begin()+it,ch.begin()+it+3,ch1.begin(),ch1.end()); it=ch.find("you"); } l=ch.length(); cout<<ch<<endl; getline(cin,ch); } return 0; }
519:
这个题关键是如何实现在题目中提到的缩位操作,我是直接写的递归实现;
代码如下:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; char str[105]; int num[6]; int ans[6]; int sum_all(int n) //递归实现 { int sum=0; if(n<10) return n; else { while(n>=10) { sum+=n%10; n/=10; } sum+=n%10; if(sum>=10) n=sum_all(sum); else n=sum; } return n; } int main() { int T; cin>>T; getchar(); while(cin>>str) { getchar(); memset(num,0,sizeof(num)); int l=strlen(str); for(int i=0;i<l;i++) num[i%6]+=str[i]; for(int i=0;i<6;i++) ans[i]=sum_all(num[i]); for(int i=0;i<6;i++) cout<<ans[i]; cout<<endl; memset(str,0,sizeof(str)); } return 0; }
仅代表个人观点,欢迎交流探讨,勿喷~~
PhotoBy:WLOP
http://weibo.com/wlop
相关文章推荐
- 北大学霸,从“B(A)T”产品经理做到投资副总裁,用产品思维投中了小红书和Keep
- MySQL数据类型和常用字段属性总结
- 那些NB到不可思议的网站
- 业务功能开发-登录(二)
- js动态改变onclick事件
- log4j不打印sql 解决办法
- java中的BigDecimal和String的相互转换
- 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetE
- java项目打包成exe可执行文件
- DPM检测模型 训练自己的数据集 读取接口修改
- 三个人分汤终极解答,四人分汤,多人分汤终极答案。
- CENTOS6.5一步一步安装OGG实现DML DDL SEQUENCE序列单向复制及服务器故障恢复
- js正则关键字详解
- 业务功能开发-登录(一)
- STM32 奇偶校验配置
- orcal 查询离当前时间最近的数据
- 快速高斯滤镜算法
- sublime3使用
- 一年时间13000个关键词上排名是这样做的!
- jquery ajax 发送js对象