zoukankan      html  css  js  c++  java
  • NYOJ 113 字符串替换(C++STL解法)

    字符串替换

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

    每行数据是一个字符串,长度不超过1000
    数据以EOF结束
    输出
    对于输入的每一行。输出替换后的字符串
    例子输入
    you are what you do
    例子输出
    we are what we do

     

     

    也是做过非常多次的水题了,近期学STL。利用这题熟悉find(),replace()函数。

    详细的replace()函数见之前的博文:点击打开链接

    find()函数是string中的查找函数,详细使用方法和replace()相似,replace()则是string中的替换函数。

    本博文临时不给出find()函数的具体解释。具体使用能够百度。

     

    题目简单,代码例如以下:

     

    #include<iostream> 
    #include<algorithm>
    #include<string.h>
    using namespace std;
    int main()
    {
    	string s,s1,s2;
    	s1="you";
    	s2="we";
    	int sign;
    	while(getline(cin,s))
    	{
    		sign=s.find(s1,0);
    		while(sign!=string::npos)
    		{
    			s.replace(sign,3,s2);
    			sign=s.find(s1,sign+1);
    		}
    		cout<<s<<endl;
    	}
    	return 0;
    }


     

    注:

    string::npos的理解:string 类提供了 6 种查找函数,每种函数以不同形式的 find 命名。
    这些操作全都返回 string::size_type 类型的值,下面标形式标记查找匹配所发生的位置。
    或者返回一个名为 string::npos 的特殊值,说明查找没有匹配。string 类将 npos 定义为保证大于不论什么有效下标的值。

     

     

  • 相关阅读:
    各种排序算法的时间复杂度
    svn版本管理系统出现的问题解决办法
    算法时间复杂度
    js处理时间戳显示的问题
    cache缓存的BUG
    使用phpstorm提交svn代码版本管理系统遇到的问题解决办法
    20161101.20161115这两周的开发总结
    mac 上安装 redis
    终极 shell zsh
    在 mac 上利用 homebrew 安装软件
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6738505.html
Copyright © 2011-2022 走看看