字符串替换

来源:互联网 发布:pbft 共识算法 编辑:程序博客网 时间:2024/05/22 08:15

字符串替换

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述
编写一个程序实现将字符串中的所有"you"替换成"we"
输入
输入包含多行数据 

每行数据是一个字符串,长度不超过1000 
数据以EOF结束
输出
对于输入的每一行,输出替换后的字符串
样例输入
you are what you do
样例输出
we are what we do
来源
水题比赛
上传者

hzyqazasdf

思路:我以为第一个程序会省点时间,省点内存呢。。。但是不是。。string类型的变量不知道怎么吸收空格了,百度搜一下是getline(cin,s);但是发现在vc++6.0里面,比如cout<<s<<endl;要求输出时要按两个回车,但是在dev c++里面只需要按一个回车。。但是提交也对了。。第二个方法是我看了之前我写的,又写了一下。。。

#include<iostream>#include<stdio.h>#include<string>using namespace std;int main(){string s;int position;while(getline(cin,s)){       position=s.find("you");    //we are what we do   while(position!=-1)   {   s.replace(position,3,"we");   position=s.find("you");   }  cout<<s<<endl;}return 0;}

<pre name="code" class="cpp">#include<iostream>#include<string.h>#include<stdio.h>using namespace std;int main(){char a[1001];int len,i,j;while(gets(a)){           len=strlen(a);        for(i=0;i<len;i++){if(a[i]=='y' &&a[i+1]=='o'&&a[i+2]=='u'){               a[i]='w';   a[i+1]='e';   for(j=i+2;j<len-1;j++)   {   a[j]=a[j+1];   }   a[j]='\0';}}cout<<a<<endl;}return 0;}


0 0
原创粉丝点击