用c语言写一个函数实现:输入一行字符,以空格分割单词,回车结束输入,输出单词的个数
时间: 2024-11-04 09:10:49 浏览: 35
用c语言实现 计算一个字符串中单词的个数
5星 · 资源好评率100%
在C语言中,你可以创建一个函数来实现这个功能。这里是一个简单的示例,使用`fgets()`读取一行字符,`strtok()`分割单词,并计数单词的数量:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int count_words(char input[100]);
// 主函数
int main() {
char line[100];
printf("请输入一行字符(以空格分隔单词,回车结束输入):\n");
fgets(line, sizeof(line), stdin);
// 去掉行尾的换行符
line[strlen(line) - 1] = '\0'; // 如果有换行符
int word_count = count_words(line);
printf("输入的单词个数为:%d\n", word_count);
return 0;
}
// 分割单词并计算数量的函数
int count_words(char str[]) {
char *token; // 存储分割后的词
token = strtok(str, " "); // 使用空格作为分隔符
int count = 1; // 初始单词计数
while (token != NULL) { // 当找到非空字符串时
token = strtok(NULL, " "); // 继续分割直到无更多单词
count++;
}
return count;
}
```
在这个程序中,用户输入一行字符,然后调用`count_words`函数来计算单词的数量。注意,`strtok()`会修改原始字符串,所以在这里我们先复制了输入的一行到`line`数组中。
阅读全文