入门(刚学)蒟佬求教
  • 板块灌水区
  • 楼主hsqi
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/8/11 20:08
  • 上次更新2024/8/11 21:03:52
查看原帖
入门(刚学)蒟佬求教
1417204
hsqi楼主2024/8/11 20:08

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

输入格式

第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

代码:```cpp #include<bits/stdc++.h> using namespace std; char s[210],a[101],b[101]; int ls,la,lb; int main(){ char c; scanf("%c",&c); while(c!='\n'){ s[++ls]=c; scanf("%c",&c); } scanf("%s",a+1); scanf("%s",b+1); la=strlen(a+1); lb=strlen(b+1); for(int i=1;i<=ls;i++){ bool x=true,y=false; for(int j=i;j<la+i;j++){ if(s[j]!=a[j-i+1]){ x=false; break; } } if(x&&s[la+i]==' '){ for(int j=1;j<=lb;j++){ printf("%c",b[j]); } i+=la-1; }else{ printf("%c",s[i]); } } return 0; }

2024/8/11 20:08
加载中...