【发布时间】:2016-05-25 03:07:15
【问题描述】:
我正在尝试创建一个程序来计算句子中的单词数,但是当我找到空格或标点符号(?、!、:、;或。)时,我不能假设下一个字符将是一封信。如果我正在寻找一个字母,我需要跳过所有空格和标点符号,直到我找到既不是空格也不是标点符号的东西。我还需要考虑到单词之间可能有多个空格。我写了一个标点函数:
bool is_punctuation (string character)
{
if (character == "!")
return true;
else if (character == "?")
return true;
else if (character == ";")
return true;
else if (character == ":")
return true;
else if (character == ".")
return true;
else
return false;
}
我用它来查找用户输入的句子数量。不过,我现在需要查找字数,并且很难找到不使用空间位置的方法。我已经用这个功能走了这么远,但需要一些帮助!非常感谢任何建议:)
void num_sentence (string phrase)
{
int num_sentence = 0;
for (int i = 0; i < phrase.length(); i++)
{
if (is_punctuation(phrase.substr(i,1))== true)
num_sentence++;
}
【问题讨论】:
-
你看到多少个句子???
标签: c++ string boolean word-count