當前位置:編程學習大全網 - 編程語言 - c語言 描述 編寫壹個程序實現將字符串中的所有"you"替換成"we"

c語言 描述 編寫壹個程序實現將字符串中的所有"you"替換成"we"

編程水平有限 還沒看到指針 只用了前面的內容 調試通過了

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

}

  • 上一篇:《木頭人》大班教案
  • 下一篇:二本的船舶與海洋工程專業跟三本的會計專業相比,哪個更好?急求
  • copyright 2024編程學習大全網