#1#3#5RE,求助!
查看原帖
#1#3#5RE,求助!
352666
张恒灿楼主2021/9/27 21:51
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
long long la,l,ans,k;
string a,s;
bool same(string st){//当前字符串与字符串a是否匹配 
	for(int i=0;i<la;i++){
		if(st[i]==a[i] || st[i]-32==a[i] || st[i]+32==a[i]){//匹配 
		}
		else return false;//不匹配 
	}
	return true;
}
int main(){
	//cin>>a;
	getline(cin,a);
	getline(cin,s);
	//cout<<a<<endl;
	//cout<<s<<endl;
	la=a.length();
	l=s.length();
	for(int i=0;i<l-la+1;i++){
		if(s[i]==' ') continue;
		if(s[i]==a[0] || s[i]+32==a[0] || s[i]-32==a[0]){
			if(same(s.substr(i,la)) && (i==l-la+1-1 || s[i+la-1+1]==' ')){
				if(ans==0) k=i;
				ans++;
			}
		}
		while(s[i]!=' ') i++;
	}
	if(ans==0) cout<<-1;
	else cout<<ans<<' '<<k;
	return 0;
}

rt,求大佬帮忙看看那里出问题了。

还有个问题,为什么我第一个字符串用cin不行用getline就行?(可能就是这里的问题)

2021/9/27 21:51
加载中...