所以我正在为作业的最后一章做一些复习题。
我的问题是,如果用户输入一个字符串句子,我将如何计算单词的数量?我不认为它在课堂上讲过,或者将在课堂上讲过。
我已经请求句子并使用 getline 读取字符串,但是除了将输入写入文件、打开同一个文件并以这种方式计算单词之外,我将如何计算单个单词呢?
所以我正在为作业的最后一章做一些复习题。
我的问题是,如果用户输入一个字符串句子,我将如何计算单词的数量?我不认为它在课堂上讲过,或者将在课堂上讲过。
我已经请求句子并使用 getline 读取字符串,但是除了将输入写入文件、打开同一个文件并以这种方式计算单词之外,我将如何计算单个单词呢?
不是一个完整的答案,因为这是作业,但请检查<string.h>
. 你基本上想在字符串中找到下一个非空白字符,然后是下一个空白字符,增加你的计数器,重复直到你到达字符串的末尾。
您可以使用std::istringstream
combine withstd::istream_iterator
将您的字符串转换为空格分隔标记的范围,例如此处。
要计算范围内的元素,只需使用std::distance
.
我想我不会提供实际代码,因为它是家庭作业,但请随时进一步询问。
假设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
。