只有20分,但感觉思路都没有问题,不知道怎么改,求指点
查看原帖
只有20分,但感觉思路都没有问题,不知道怎么改,求指点
1264006
Lss_123楼主2024/1/25 19:09
#include<iostream>
#include<string>
using namespace std;
void BS(string& s) {
	for (int i = 0; i < s.size(); i++)
		if (s[i] >= 'a') s[i] -= 32;
}
int main() {
	int num = 0, x;
	string str, s;
	getline(cin,str);
	getline(cin, s);
	BS(str); BS(s);//全变大写 
	str.insert(0, " "); s.insert(0, " ");//前面加空格 
	str += ' '; s += ' ';//后面加空格 
	int a = s.find(str);//查找str位置 ,由于均加了空格故位置不变 
	x = a;//头位置 
	while (a != -1) {
		num++;
		a = s.find(str, a + str.size() - 1);
	}
	cout << x << ' ';
	if (x != -1) cout << num;
	return 0;
}
2024/1/25 19:09
加载中...