c语言统计一行文本的单词个数
时间: 2023-10-30 17:03:13 浏览: 143
要统计一行文本的单词个数,可以使用C语言编写一个函数来实现。函数的基本思路是遍历文本的每个字符,通过判断字符之间的空格或者标点符号来确定单词的起始和结束位置。下面是一个简单的实现示例:
```c
#include <stdio.h>
int countWords(char line[]) {
int wordCount = 0;
int i = 0;
// 跳过开头的空格
while (line[i] == ' ') {
i++;
}
while (line[i] != '\0') {
// 如果当前字符是空格或标点符号,表示一个单词的结束
if (line[i] == ' ' || line[i] == ',' || line[i] == '.' || line[i] == '!' || line[i] == '?') {
// 跳过连续的标点符号或空格
while (line[i] == ' ' || line[i] == ',' || line[i] == '.' || line[i] == '!' || line[i] == '?') {
i++;
}
// 统计单词个数
wordCount++;
}
i++;
}
return wordCount;
}
int main() {
char line[] = "Hello, how are you today?";
int words = countWords(line);
printf("单词个数: %d\n", words);
return 0;
}
```
以上代码中,countWords函数接收一个字符数组line,然后遍历数组中的每个字符。通过检查字符是否是空格或标点符号来确定单词的开始和结束位置。当遇到一个单词的结束时,将单词计数加1。最后,返回总的单词个数。在main函数中,我们调用countWords函数并打印出结果,输出为:单词个数: 5。这意味着给定的文本行中有5个单词。