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 定义为保证大于不论什么有效下标的值。

     

     

  • 相关阅读:
    jquery两个滚动条样式
    js双层动画幻灯
    漂浮QQ
    js物理弹性窗口
    js抽奖跑马灯程序
    经典算法
    判断手机浏览器终端设备
    javascript判断手机旋转横屏竖屏
    【转】处理百万级以上的数据提高查询速度的方法
    Linux -- Centos 下配置LNAMP 服务器环境
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6738505.html
Copyright © 2011-2022 走看看