您的位置:首页 > 其它

NYOJ 113 字符串替换

2017-07-26 15:18 218 查看

字符串替换

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

每行数据是一个字符串,长度不超过1000 
数据以EOF结束输出对于输入的每一行,输出替换后的字符串样例输入
you are what you do
样例输出
we are what we do
啧啧啧,我现在有点质疑自己的脑子了...#include<stdio.h>
#include<string.h>
int main()
{
char b[10],s[1000],a[500][5];
char w[]="you",e[]="you ";
while(scanf("%s",b)!=EOF)
{
getchar();
gets(s);
if(!strcmp(b,"you"))
printf("we ");
else
printf("%s ",b);
int i,l;
int j=0,k=0;
l=strlen(s);
for(i=0;i<l;i++)
{
a[j][k]=s[i];
k++;
if(s[i]==' ')
{
j++;
k=0;
}
}
for(i=0;i<=j;i++)
{
if(!strcmp(a[i],e))
{
printf("we ");
continue;
}
if(!strcmp(a[i],w))
{
printf("we");
continue;
}
printf("%s",a[i]);
}
printf("\n");
}
return 0;
}这是我自己写的,感觉没毛病,不知道为什么在for循环的把S的字符输进去就总会有毛病...后来看了别人的 发现算法比我的要简单很多很多...哭唧唧#include<stdio.h>
#include<string.h>
int main()
{
int N,i;
while(scanf("%d",&N)!=EOF)
{
char c[1000];
gets(c);
for(i=0;i<=strlen(c)-1;i++)
{
if(c[i]=='y'&&c[i+1]=='o'&&c[i+2]=='u')
{
printf("we");
i=i+3;
}
printf("%c",c[i]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: