题目描述
输入一个英文句子,例如:“This is a Book.",可以看到句子是以“.”来作为结束符号的,并且单词之间以一个空格来分隔。接着再输入一个单词A,请找出首次在句子中出现的与A相同的单词,是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。 例如对上句子而言,若输入单词“is”,则应输出:2 若输入单词“isa”,则应输出:11
输入
第一行为以‘.’结束的一个词组(仅由若干个单词组成,单词间由一空格隔开,除单词和最后的“.”以外,不含其它字符)
第二行是一个单词(不含空格)
输出
一个整数
代码
#include<iostream>
#include<string>
using namespace std;
int main() {
string str, word;
int count = 0;
getline(cin, str, '.');
cin >> word;
for (int i = 0; i < str.size(); i++) {
int j = i;
while (j < str.size() && str[j] != ' ') {
j++;
}
count++;
if (str.substr(i, j - i) == word) {
cout << count << endl;
return 0;
}
i = j;
}
cout << str.size() - 1 << endl;
return 0;
}