要统计单词的个数先要解决如何判别一个单词,应该从输入行的开头一个字符一个字符地去判别。假定把一篇英文短文放在数组s中,那么就相当于从s[0]开始逐个检查数组元素,经过一个空格或者若干个空格符之后找到的第一个字母就是一个单词的开头,此时利用一个计数器num进行累加1运算,在此之后若连续读到的是非空格字符,则这些字符属于刚统计到的那个单词,因此不应该将计数器num进行累加1,下一次计数应该是在读到一个空格或者若干个空格符之后再遇到非空格字符开始。因此,统计一个单词时不仅要满足当前所检查的这个字符是非空格,而且要满足所检查的前一个字符是空格。
时间: 2024-02-01 17:13:00 浏览: 72
统计单词个数
5星 · 资源好评率100%
你的理解是正确的。统计单词个数需要逐个检查数组元素,找到单词的开头,然后根据空格符来判断单词的结束位置。在统计单词个数时,需要注意前一个字符是否为空格符,以避免重复计数。以下是一个简单的示例代码:
```c
int countWords(char s[]) {
int num = 0;
int i = 0;
while (s[i] != '\0') {
if (s[i] != ' ' && (i == 0 || s[i-1] == ' ')) {
num++;
}
i++;
}
return num;
}
```
在上面的代码中,变量`num`用来记录单词个数,变量`i`用来遍历数组`s`。当遇到一个非空格字符且前一个字符是空格时,`num`就会加1。这样就可以正确地统计单词个数了。
阅读全文