#include<stdio.h>
#include<string.h>
int main()
{
char str[1000];
int i=0,strlong,flag[333],n; //strlong用來儲存str的長度,flag用來儲存you中u的位置
printf("Please input string!\n");
while((scanf("%c",&str[i++])!=EOF)&&i<=1000) //輸入後按Enter,再按ctrl+z
{
continue;
}
strlong=strlen(str);
for(i=0,n=0;i<=strlong;i++)
{
if(str[i]=='y'||str[i]=='Y')
{
if(str[i+1]=='o'||str[i+1]=='O')
{
if(str[i+2]=='u'||str[i+2]=='U') //判斷是否為單詞you
{
if(str[i]=='Y')
str[i]='W';
else //保證字母大小寫相同
str[i]='w';
if(str[i+1]=='O')
str[i+1]='E';
else
str[i+1]='e';
flag[n++]=i+2; //儲存u的位置,便於將u覆蓋
}
}
}
}
for(n=0;flag[n]!='\0';n++) //這裏就是將u後面的字符向前移動壹位
{ //替換壹個you後因為後面的字符整體前移了
if(n==0)
i=flag[n];
else //所以flag中儲存的u的位置就要減去1,替換兩個後
i=flag[n]-n; //整體前移兩位,就要減去2,以此類推
for(;i<=strlong;i++)
{ //不清楚的話妳可以吧for後的if.....else...去掉
str[i]=str[i+1]; //直接把i=flag[n]放在第二個for(i=flag[n];;)中
}
}
printf("%s",str);
return 0;
}