用c语言写一个程序要求可以统计一句话里的单词个数
时间: 2024-04-30 18:19:41 浏览: 12
以下是用 C 语言编写的程序,可以统计一句话里的单词个数:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int wordCount = 0, i = 0;
printf("Enter a sentence: ");
fgets(str, MAX_LEN, stdin); // 从标准输入读取一行
// 遍历字符串
while (str[i] != '\0') {
// 如果当前字符是空格或换行符,说明一个单词结束,单词数加1
if (str[i] == ' ' || str[i] == '\n') {
wordCount++;
}
i++;
}
printf("There are %d words in the sentence.\n", wordCount + 1); // 最后一个单词后面没有空格或换行符,所以要加1
return 0;
}
```
在这个程序中,我们使用 `fgets` 函数从标准输入读取一行字符串,然后遍历字符串,统计单词个数。如果当前字符是空格或换行符,说明一个单词结束,单词数加1。最后输出单词数即可。注意最后一个单词后面没有空格或换行符,所以要加1。
相关问题
c语言统计一句话中的单词个数
以下是一个简单的示例程序,用于统计一句话中的单词个数:
```
#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>
#include <ctype.h>
int main() {
char sentence[100];
int i, wordCount;
printf("请输入一句话:");
fgets(sentence, 100, stdin);
i = 0;
wordCount = 0;
// 遍历句子中的每个字符
while (sentence[i] != '\0') {
// 如果当前字符是字母,继续向后查找直到找到一个非字母字符
if (isalpha(sentence[i])) {
while (isalpha(sentence[i])) {
i++;
}
wordCount++;
} else {
i++;
}
}
printf("这句话中有 %d 个单词。\n", wordCount);
return 0;
}
```
这个程序中,我们首先使用 `fgets()` 函数从用户输入中读取一句话,然后使用一个 `while` 循环遍历句子中的每个字符。如果当前字符是字母,我们就继续向后查找直到找到一个非字母字符,这个过程可以理解为在一个单词内部移动。一旦我们找到一个非字母字符,说明当前单词结束,我们将单词计数器加 1。最后输出单词计数器的值即可。