求助编译不出来看不出来哪里的问题
查看原帖
求助编译不出来看不出来哪里的问题
1125841
abundan楼主2024/1/24 18:42
#include <bits/stdc++.h>
using namespace std;

int main() {
	string s1,s2;
	int x,y,fi=0,sum=0;
	cin>>s1;
	getchar();
	getline(cin,s2);
	transform(s1.begin(),s1.end(),s1.begin(),::tolower);
	transform(s2.begin(),s2.end(),s2.begin(),::tolower);//变成小写 

	x=s1.size();
	y=s2.size();//字符串长度 
	int i;//printf("%d %d",x,y);
	fi=s2.find(s1,0);//第一次出现的索引值 
	i=fi;
	while((i+x)<=y){
		if(i!=-1){
			if((i=0&&s2[i+x]==' ')||(i!=0&&i!=(y-x)&&s2[i-1]==' '&&s2[i+x]==' ')||(i=y-x&&s2[i-1]==' '))
				sum++;//开头出现,单词右边为空格,中间出现,单词左右都有空格 ,结尾出现,单词左边有空格 
		}else break;
		i=s2.find(s1,i+x);//从空格开始寻找下一个匹配单词的位置 
		//printf("%d",i);
	}
	if(fi!=-1)printf("%d ",sum);
	printf("%d",fi);
	return 0;
}
2024/1/24 18:42
加载中...