利用c语言,输入一行字符,统计单词个数
时间: 2023-07-13 13:09:50 浏览: 59
以下是一个简单的示例代码,它使用空格作为单词分隔符,统计输入行中的单词数:
```c
#include <stdio.h>
int main() {
char str[1000];
int wordCount = 0, i;
printf("请输入一行字符:");
gets(str);
// 统计单词数
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ') {
wordCount++;
}
}
// 输出结果
printf("输入行中的单词数为:%d\n", wordCount + 1);
return 0;
}
```
这个程序中,我们首先使用 `gets()` 函数从标准输入中读取一行字符,并存储在 `str` 数组中。然后,我们遍历 `str` 数组中的每个字符,如果发现一个空格,则将单词计数器 `wordCount` 加一。最后,我们输出 `wordCount+1` 的值,因为我们统计的是单词数,而不是空格数,而单词数比空格数多一个。
相关问题
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语言编写一个函数来实现。函数的基本思路是遍历文本的每个字符,通过判断字符之间的空格或者标点符号来确定单词的起始和结束位置。下面是一个简单的实现示例:
```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个单词。