求高手解答一下C语言题

题目描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,... 题目描述

输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入

输入包括3行,

第1行是包含多个单词的字符串 s,

第2行是待替换的单词a,(长度<=100)

第3行是a将被替换的单词b。(长度<=100)

s, a, b 最前面和最后面都没有空格.

输出

输出只有 1 行,

将s中所有单词a替换成b之后的字符串。

样例输入

You want someone to help you

You

I

样例输出

I want someone to help you
展开
 我来答
dongge522522
2010-05-19
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include<string.h>
#define N 100
void main()
{
char a[N],b[N],c[N];
int n,m,i,j;
printf("please in put a string:");
gets(a);
printf("please in put another:");
gets(b);
printf("please in put another:");
gets(c);
n=strlen(c);
m=strlen(b);
for(j=0;j<=N;j++)
{
if(a[j]==b[0])
break;

}
printf("%d",n);
for(i=0;i<n;i++)
a[i+j]=c[i];
for(i=n;i<m-n;i++)
a[i+j]=' ';
puts(a);

}
输入顺序为you want someone help you
you
I
上面的程序满足你的要求,但我必须说明它是有漏洞的,如果有其他要求我可以无偿帮你改进他。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自在飞花2006
2010-05-19 · TA获得超过371个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:0
展开全部
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *input,*pre,*output,*post,*p;
input=(char*)malloc(100*sizeof(char));
pre=(char*)malloc(100*sizeof(char));
post=(char*)malloc(100*sizeof(char));
output=(char*)malloc(100*sizeof(char));
memset(output,0,100*sizeof(char));
cin.getline(input,100,'\n');
cin.getline(pre,100,'\n');
cin.getline(post,100,'\n');
p=strstr(input,pre);
if(p==NULL)
{
strcpy(output,input);
return 1;
}
while(p)
{
strncat(output,input,p-input);
strcat(output,post);
p+=strlen(pre);
input=p;
p=strstr(p,pre);
}
strcat(output,input);
cout<<output<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式