#include<stdio.h>
#include<string.h>
int main()
{
int len,i;
char a[1000];
while(gets(a))
{
len = strlen(a);
for(i = 2;i < len;i++)
{
if(a[i-2] == 'y' && a[i-1] == 'o' && a[i] == 'u')
{
a[i-2] = 'w';
a[i-1] = 'e';
a[i] = '$';
}
}
for(i = 0;i < len;i++)
{
if(a[i] != '$')
{
putchar(a[i]);
}
}
putchar('\n');
}
return 0;
#include<string.h>
int main()
{
int len,i;
char a[1000];
while(gets(a))
{
len = strlen(a);
for(i = 2;i < len;i++)
{
if(a[i-2] == 'y' && a[i-1] == 'o' && a[i] == 'u')
{
a[i-2] = 'w';
a[i-1] = 'e';
a[i] = '$';
}
}
for(i = 0;i < len;i++)
{
if(a[i] != '$')
{
putchar(a[i]);
}
}
putchar('\n');
}
return 0;
}
这里要注意字符串输入输出的问题,scanf在读取字符串的时候,遇到第一个空格会自动跳过,接下来再遇到的空格或者换行符会停止读取。若输入是这样的“ you r good”,最终读取的是“you”,所以要想输入带有空格的字符串要使用gets,此外单个输出字符的时候用putchar().