首页 > 代码库 > NYoj-字符串替换

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;
}        


NYoj-字符串替换