求助C语言编程............

编写程序,实现从键盘输入一行字符串,将该字符串中所有的apple换成orange.如:I have an apple.Do you like apple? 变为I have an orange.Do you like orange?

 #include<stdio.h>
#include<stdlib.h>
int main()
{
    char s[]="I have an apple Do you like apple";
    char s1[]="apple";
    char s2[]="orange";
    int a[10],i,j,k,n=0,h,m=0;
    for(i=0;s[i]!='\0';i++)
        for(j=i,k=0;s1[k]==s[j];k++,j++)
            if(s1[k+1]=='\0')
            {
                m++;
                a[n++]=j-k;
                break;
            }
    for(n=0;n<m;n++)
        for(i=a[n],h=0;s[i]!='\0'&&s2[h]!='\0';)
            s[i++]=s2[h++];
    printf("%s\n",s);
    system("pause");
    return 0;
}

图片说明

给我时间写,我想一想,写好了再上传给你看

百度上,Google上,字符串替换的源码很多。。

自己写一个字符串处理函数呗 很简单的 遍历这个字符串 和要替换的单词比对 如果一样 就换呗

#include
#include
char s1[50];
char s2[]={'a','p','p','l','e'};
char s3[]={'o','r','a','n','g','e'};
char target [100];
int i=0,j,count=0;
int main()
{
gets(s1);
while(s1[i]!='\0')
{
if((s1[i]==s2[0])&&(s1[i+1]==s2[1])&&(s1[i+2]==s2[2])&&(s1[i+3]==s2[3])&&(s1[i+4]==s2[4]))
{
for(j=0;j<strlen(s3);j++)
{
target[count]=s3[j];
count++;
}
i=i+5;
}
else
{
target[count]=s1[i];
count++;
i++;
}
}
puts(target);
return 0;
}