输入一个句子,统计句子中单词个数,C语言
时间: 2024-12-15 13:19:10 浏览: 15
在C语言中,你可以使用`strtok()`函数来分割字符串成单词,并配合计数器来统计单词个数。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int count_words(char *sentence) {
int word_count = 0;
char *token = strtok(sentence, " ");
while (token != NULL) {
word_count++;
token = strtok(NULL, " "); // 使用空格作为分隔符,直到找到下一个单词
}
return word_count;
}
int main() {
char sentence[] = "这是一个测试句子,用于演示如何统计单词";
int word_num = count_words(sentence);
printf("句子中有 %d 个单词。\n", word_num);
return 0;
}
```
这个程序首先使用`strtok()`将输入的句子按照空格分割成一个个单词,然后在`while`循环中每次遇到非空的`token`就增加词计数器。最后,主函数中打印出单词总数。
相关问题
c语言输入一个句子统计单词个数
当然可以。您可以使用以下代码来完成这个任务:
```
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char sentence[1000];
int word_count = 0, i;
printf("请输入句子:\n");
fgets(sentence, sizeof(sentence), stdin);
// 判断单词数
for (i = 0; sentence[i] != '\0'; i++) {
if (isspace(sentence[i]) || sentence[i] == '\n') {
word_count++;
}
}
printf("该句子中有 %d 个单词。\n", word_count);
return 0;
}
```
这个程序会提示用户输入一个句子,然后将句子存储到数组中。之后,它将遍历数组,当遇到空格或换行符时,将单词计数增加1。最后,程序将输出单词数。
注意:程序假设用户输入的句子不会超过1000个字符。如果您需要处理更长的句子,您需要相应地调整数组大小。
C语言输入一个英文句子,统计句子中单词个数
可以使用C语言中的字符串处理函数和循环语句来实现统计句子中单词个数的功能。具体的实现步骤如下:
1. 通过fgets()函数从标准输入中读入一个句子,存储到一个字符数组中。
2. 定义一个变量count来记录单词个数,初始值为0。
3. 使用strtok()函数将句子切分成若干个单词,每次切分后将count加1。
4. 最后输出count的值即可。
下面是一段示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char sentence[100];
int count = 0;
char *word;
printf("请输入一个英文句子:");
fgets(sentence, 100, stdin);
word = strtok(sentence, " ");
while (word != NULL)
{
count++;
word = strtok(NULL, " ");
}
printf("单词个数为:%d\n", count);
return 0;
}
```
在这段代码中,我们使用了fgets()函数从标准输入中读入一个句子,并将其存储到字符数组sentence中。然后使用strtok()函数将句子切分成若干个单词,每次切分后将count加1。最后输出count的值即可。注意,在使用strtok()函数时,第一个参数是要切分的字符串,第二个参数是用来指定分隔符的字符串。这里我们使用空格作为分隔符。
阅读全文