NYoj-字符串替换

字符串替换

时间限制:3000 ms  |  内存限制:65535 KB

难度:2

描述
编写一个程序实现将字符串中的所有"you"替换成"we"

输入
输入包含多行数据

每行数据是一个字符串,长度不超过1000

数据以EOF结束

输出
对于输入的每一行,输出替换后的字符串
样例输入
you are what you do
样例输出
we are what we do
错误思路:
#include<cstdio>
#include<cstring>
char str[1010];
char s[1010][1010];
int main()
{
	char s1[5]="you";
	char s2[5]="we";
	int len,i,j=0,k=0;
	gets(str);
	len=strlen(str);
	for(i=0;i<=len;i++)
	{

		if(str[i]==' '||str[i]=='\0')
		{
			s[k][j]='\0';
			k++;
			j=0;
		}
		else
		{
			 s[k][j++]=str[i];
		}
	}
	i=0;
	if(i==0)
	{
		if(strcmp(s[i],s1)==0)
		    printf("%s",s2);
		else
		    printf("%s",s[i]);

	}
	for(i=1;i<k;i++)
	{
		if(strcmp(s[i],s1)==0)
		   printf(" %s",s2);
		else
		   printf(" %s",s[i]);
	}
	return 0;
} 
正确代码:
<pre name="code" class="cpp">#include<stdio.h>
#include<string.h>
int main()
{
   char a[1010];
   int i;
   while(gets(a)){

    int len=strlen(a);
    int j=0,k=0;
    for(i=0;i<len;i++)
    {
        if(a[i]=='y'&&a[i+1]=='o'&&a[i+2]=='u')
       {
                printf("we");
				i=i+2;
	   }
       else   printf("%c",a[i]);

    }
       printf("\n");

  }
return 0;
}

时间: 2024-08-10 23:20:09

NYoj-字符串替换的相关文章

nyoj 113 字符串替换 (string中替换函数replace()和查找函数find())

字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 编写一个程序实现将字符串中的所有"you"替换成"we" 输入 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 输出 对于输入的每一行,输出替换后的字符串 样例输入 you are what you do 样例输出 we are what we do读一行的方法:用geiline(cin,s) 1 #include <iostream>

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

python文件操作--字符串替换

如把test.txt文件的 所有 AAA 字符串 替换成 aaaaa 1 with open('test.txt','+r') as f: 2 t = f.read() 3 t = d.replace('AAA', 'aaaaaa') 4 #读写偏移位置移到最开始处 5 f.seek(0, 0) 6 f.write(t)

str_replace字符串替换

字符串替换, src 源字符串, buf_size 缓冲大小, search搜索的字符串大小, repstr 需要替换成的字符串 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

【java解惑】java字符串替换方法使用

    如下代码: public class Example020 { public static void main(String[] args) { String separator = File.separator; String clazzName = Example020.class.getName(); String rs1 = clazzName.replace(".", separator); // 方法1 String rs2 = clazzName.replaceA

批处理命令:带参数的字符串替换

批处理命令:带参数的字符串替换 @echo off setlocal enabledelayedexpansion set main_str=hello world set src=hello set dst=hi echo %main_str% set sub_str=!main_str:%src%=%dst%! echo %sub_str%

poj 3981 字符串替换

字符串替换 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10871   Accepted: 5100 Description 编写一个C程序实现将字符串中的所有"you"替换成"we" Input 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 Output 对于输入的每一行,输出替换后的字符串 Sample Input you are what you do

sed 字符串替换

1. sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义. 2. 单引号” ‘ ’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下: # 要处理的字符包含单引号sed "s/原字符串包含'/替换字符串包含'/" 3. 命令中的三根斜线分隔符可以换成别的符号,有时候替换目录字符串的时候有较多斜线,这个时候换成其它的分割符是较为方便,只需要紧跟s定义即

loadrunner获取毫秒及字符串替换实现

loadrunner获取毫秒及字符串替换实现 今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理一下.字符串,于是就想一个C语言实现的字符串替换函数.loadrunner默认没有字符串替换函数,不知道为什么不做呢? (1)毫秒实现方法 通过创建date/time参数,设置格式为:%Y%m%d%H%M%S.000 (2)替换字符串函数 char *s

C#中正则表达式进行忽略大小写的字符串替换

在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式. 要使用正则表达式,首先需要引用命名空间: 以下是引用片段: usingSystem.Text.RegularExpressions; 然后,非常简单,使用: 以下是引用片段: Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase) 就可以达到目的了,其中最后的参数RegexOpt