作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的程序的main函数中已经提示用户输入一个字符串并存储在userString
中,想显示有多少个字。
这是我打算从 main 调用的函数:
int countWords(string d) {
string words = " ";
for (int e = 0; e < d.length(); e++) {
if (isspace(d[e])) {
cout << "The string " << words << "word(s). ";
}
}
return words;
}
我在某处读到该函数实际上应该计算空格的数量(这就是我使用 isspace()
的原因),而不是单词本身。
如何计算字符串中的单词数并在同一个函数中显示它?我在弄清楚它时遇到了麻烦,而且我遇到了错误。
我也不能使用库函数。
预期输出:
最佳答案
如果您不想使用 boost,一个简单的 for 循环就可以了。
#include <cctype>
...
for(int i = 0; i < toParse.length(); i++){
if (isblank(toParse[i])){
//start new word
}
else if (toParse[i] == '.'){
//start new sentence
}
else if (isalphanum(toParse[i])){
//add to your current word
}
}
编辑:您可以在看到//start new word 的地方增加一个整数。
关于c++ - 如何计算字符串中的单词数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323797/
我是一名优秀的程序员,十分优秀!