gpt4 book ai didi

C++ 在句子中查找单词

转载 作者:搜寻专家 更新时间:2023-10-31 01:51:43 25 4
gpt4 key购买 nike

我的任务是在一个句子(更像是一行字符)中找到单词“EYE”,例如:EYEYECARASDFG。如您所见,“EYE”一词出现了两次,相互重叠。我想cout 单词“EYE”在句子中出现了多少次。我写了一些看起来像这样的代码:

#include <iostream>
#include <string>

using namespace std;

string sentence;

int main()
{
int i = 0;
cin >> sentence;

while()
{
if (std::string::npos != sentence.find("EYE"))
{
i++;
}
}


cout << i;
}

现在没有 while 循环,它会在句子中找到 EYE,并且它有点工作。所以我虽然计算重叠并使代码运行直到结束,但我需要循环它。所以我虽然 while 循环是最好的,但我不知道如何循环它,将什么放入 while 循环的括号中

最佳答案

首先 while 中的条件是必需的。如果你想要无限循环使用 true 作为你的声明。作为初稿,尽量用“蛮力”来完成。如果等于“EYE”,只需检查句子的每 3 个字母子串。这将是一个循环和 3 个条件或 2 个循环和 1 个条件。然后阅读一些文本搜索算法,例如 KMP .

如果您只是想让这段代码运行,请使用以下代码:

int pos = 0;
while(true) {
pos = sentence.find("EYE", ++pos);
if (pos != std::string::npos) {
i++;
} else break;
}

关于C++ 在句子中查找单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com