0

所以我正在为作业的最后一章做一些复习题。

我的问题是,如果用户输入一个字符串句子,我将如何计算单词的数量?我不认为它在课堂上讲过,或者将在课堂上讲过。

我已经请求句子并使用 getline 读取字符串,但是除了将输入写入文件、打开同一个文件并以这种方式计算单词之外,我将如何计算单个单词呢?

4

3 回答 3

3

不是一个完整的答案,因为这是作业,但请检查<string.h>. 你基本上想在字符串中找到下一个非空白字符,然后是下一个空白字符,增加你的计数器,重复直到你到达字符串的末尾。

于 2016-09-11T03:39:29.017 回答
0

您可以使用std::istringstreamcombine withstd::istream_iterator将您的字符串转换为空格分隔标记的范围,例如此处

要计算范围内的元素,只需使用std::distance.

我想我不会提供实际代码,因为它是家庭作业,但请随时进一步询问。

于 2016-09-11T03:57:39.083 回答
0

假设str是 a char *which 是输入句子:

int count = 0;
for(int i = 0; i < strlen(str); i++){
    while(i < strlen(str) && str[i] != ' ')
        i++;
    count++;
}

这就是您无需任何特殊的 class 方法即可手动进行计数的方法string.h

于 2016-09-11T04:20:27.297 回答