题解
2023-08-09 14:20:08
发布于:浙江
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
string str ,str_ ,i_str ;
int count = 0 ,flag = 0 ,first_appear = -1;
getline(cin ,str);
for (int i = 0 ; i < str.size() ; i++) //将给定的单词大写字母转为小写
if (str[i] >= 'A' && str[i] <= 'Z')
str[i] = char(int(str[i]) + 32);
getline(cin ,str_);
for (int i = 0 ; i < str_.size() ; i++) //将文章大写字母转为小写
if (str_[i] >= 'A' && str_[i] <= 'Z')
str_[i] = char(int(str_[i]) + 32);
int len = str_.size();
for (int i = 0 ,j = 0; i < len ; i++){
if (str_[i] != ' '){ //将单个单词分割出来
i_str = "";
for (j = i ; j < len ; j++){
if (str_[j] == ' ')
break;
else
i_str += str_[j];
}
i = j;
if (i_str == str){ //如果分割出来的单个单词与需要查找的单词相同
count++;
if (flag == 0){
flag = 1;
first_appear = i - i_str.size(); //获得第一次出现的位置
}
}
}
}
if (count == 0){
cout << -1;
return 0;
}
cout << count << " " << first_appear;
return 0;
}
这里空空如也
有帮助,赞一个