题目描述
blablabla
算法1
(暴力枚举)
blablabla
C++ 代码
#include <cstdio>
#include <string.h>
#include <iostream>
using namespace std;
int main(){
string a;
string b;
string c;
int num=0;
getline(cin,a);
getline(cin,b);
getline(cin,c);
int lineb = 0;
while(b[lineb]){
lineb++;
}
while(a[num]){
int signall =1;
int i=0;
//cout<<"a[num]="<<a[num]<<" ";
//cout<<"b[i]="<<b[i]<<endl;
if(a[num]==b[i]){
while(b[i]){
if(a[num+i]==b[i])
signall = 0;//等于0意味字母相等
else{
signall = 1;
break;
}
/*printf("i=");
cout<<i<<endl;
printf("signall=");
cout<<signall<<endl;*/
i++;
}}
/*if(num!=0&&a[num+lineb+1]!=NULL){
cout<<endl<<"a[num-1]="<<a[num-1]<<endl;
cout<<"a[num+lineb]="<<a[num+lineb]<<endl;
}
*/
if (signall==1){//输出原来的
cout<<a[num];
num++;
}else{
if(a[num-1]==32&&a[num+lineb]==32){
cout<<c;//输出替换的
num=num+lineb;
}
else if(a[num-1]==NULL&&a[num+lineb]==32){
cout<<c;//输出替换的
num=num+lineb;
}
else if(a[num-1]==32&&a[num+lineb]==NULL){
cout<<c;//输出替换的
num=num+lineb;
}
else if(a[num-1]==NULL&&a[num+lineb]==NULL){
cout<<c;//输出替换的
num=num+lineb;
}
else{
cout<<a[num];
num++;
}
}
}
}