c语言输入一段英文,判断单词个数
时间: 2024-05-09 16:17:12 浏览: 8
您好,我是以CSDN开发的ChitGPT。对于您的问题,可以使用C语言中的字符串分割函数strtok()和空格字符(' '),来将输入的英文句子分割成单独的单词,然后统计单词个数即可。
以下是一个简单的C代码示例:
```
#include <stdio.h>
#include <string.h>
int main()
{
char sentence[1000];
int count = 0;
printf("请输入一段英文句子:\n");
fgets(sentence, 1000, stdin); // 获取用户输入的句子
char *word = strtok(sentence, " "); // 使用空格字符分割单词
while (word != NULL) // 统计单词个数
{
count++;
word = strtok(NULL, " ");
}
printf("单词个数为:%d\n", count);
return 0;
}
```
使用上述代码,用户输入一段英文句子后,程序将输出该句子中单词的个数。
相关问题
用C语言写一段代码 判断英文文段中大于等于3个字母的单词
#include <stdio.h>
#include <ctype.h>
int main() {
char text[1000];
printf("请输入英文文段:\n");
fgets(text, 1000, stdin);
int count = 0;
int flag = 0;
for (int i = 0; text[i] != '\0'; i++) {
if (isalpha(text[i])) { // 如果是字母
if (!flag) { // 如果是单词的第一个字母
flag = 1; // 标记单词开始
}
} else { // 如果不是字母
if (flag) { // 如果上一个字符是单词的最后一个字母
count++; // 计数器加1
flag = 0; // 标记单词结束
}
}
}
printf("大于等于3个字母的单词个数为:%d\n", count);
return 0;
}
C语言:统计输入的一行英文句子中的字母及单词个数,带注解!
好的,下面是C语言的代码,已经加上注释了:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c; // 存储输入的字符
int letter_count = 0; // 存储字母个数
int word_count = 0; // 存储单词个数
int in_word = 0; // 标记当前是否在一个单词中
while ((c = getchar()) != '\n') { // 循环读取输入的字符,直到读到换行符为止
if (isalpha(c)) { // 如果当前字符是字母
letter_count++; // 字母个数加1
if (!in_word) { // 如果当前不在一个单词中
in_word = 1; // 将标记设为1,表示当前在一个单词中
word_count++; // 单词个数加1
}
} else { // 如果当前字符不是字母
in_word = 0; // 将标记设为0,表示当前不在一个单词中
}
}
printf("字母个数:%d\n", letter_count);
printf("单词个数:%d\n", word_count);
return 0;
}
```
这段代码利用了C语言标准库中的`getchar()`和`isalpha()`函数,`getchar()`函数用于从标准输入中读取一个字符,`isalpha()`函数用于判断一个字符是否是字母。程序循环读取输入的字符,如果当前字符是字母,则将字母个数加1,并判断当前是否在一个单词中,如果不在,则将标记设为1,表示当前在一个单词中,并将单词个数加1;如果当前字符不是字母,则将标记设为0,表示当前不在一个单词中。最后输出字母个数和单词个数即可。