c语言统计一句话中的单词个数
时间: 2023-10-13 19:24:49 浏览: 88
以下是一个简单的示例程序,用于统计一句话中的单词个数:
```
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100]; // 声明一个最大长度为100的字符数组
int word_count = 1; // 初始化单词个数为1,因为第一个单词前没有空格
printf("请输入一句话:\n");
fgets(sentence, 100, stdin); // 从标准输入中读取一行字符串
for (int i = 0; i < strlen(sentence); i++) {
if (sentence[i] == ' ') { // 如果遇到空格,说明一个单词结束,单词个数加1
word_count++;
}
}
printf("这句话中共有%d个单词。\n", word_count);
return 0;
}
```
该程序使用了一个字符数组来存储用户输入的一句话,然后遍历该字符串,每当遇到一个空格时,就说明一个单词结束,单词个数加1。最终输出单词个数即可。注意,第一个单词前没有空格,因此需要将单词个数初始化为1。
相关问题
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个单词。
通过C语言统计字符串中的单词个数
可以使用C语言的字符串处理函数和循环语句来统计字符串中的单词个数。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int countWords(char str[]) {
int i, count = 0, word = 0;
for (i = 0; i < strlen(str); i++) {
if (str[i] == ' ' || str[i] == '\n' || str[i] == '\t') {
word = 0;
} else if (word == 0) {
word = 1;
count++;
}
}
return count;
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Number of words: %d", countWords(str));
return 0;
}
```
在上面的例子中,`countWords`函数使用循环遍历字符串中的每个字符。如果当前字符是空格、换行符或制表符,则将`word`变量设置为0,表示当前不在单词中。如果当前字符不是空格、换行符或制表符,且`word`变量为0,则将`word`变量设置为1,并将`count`计数器加1,表示当前在单词中。最后返回`count`计数器的值,即为字符串中的单词个数。