用C语言编写一个能统计输入2行英文中包括多少个单词的小程序。
时间: 2024-02-06 17:11:37 浏览: 98
好的,下面是一个简单的 C 语言程序,可以实现输入两行英文,统计包括多少个单词的功能。
```c
#include <stdio.h>
#include <ctype.h> // 包含 isalpha 和 isspace 函数的头文件
int main() {
char line1[100], line2[100]; // 定义两个存储输入的数组
int word_count = 0; // 初始化单词计数器为0
// 读取两行输入
printf("请输入第一行英文:");
fgets(line1, 100, stdin);
printf("请输入第二行英文:");
fgets(line2, 100, stdin);
// 统计第一行单词数量
for (int i = 0; line1[i] != '\0'; i++) {
if (isalpha(line1[i]) && (i == 0 || isspace(line1[i-1]))) {
word_count++;
}
}
// 统计第二行单词数量
for (int i = 0; line2[i] != '\0'; i++) {
if (isalpha(line2[i]) && (i == 0 || isspace(line2[i-1]))) {
word_count++;
}
}
// 输出单词数量
printf("输入的两行英文中共有 %d 个单词。\n", word_count);
return 0;
}
```
在这个程序中,我们首先定义了两个数组 `line1` 和 `line2`,用来存储输入的两行英文。然后我们使用 `fgets` 函数分别读取两行输入,并存储到对应的数组中。
接下来我们通过两个循环,分别遍历 `line1` 和 `line2` 中的每一个字符。对于每个字符,我们使用 `isalpha` 函数判断其是否为字母,并使用 `isspace` 函数判断其前一个字符是否为空格。如果当前字符是字母,并且前一个字符是空格或者当前字符是第一个字符,那么说明当前字符所在的位置是一个新单词的开头,我们就将单词计数器加1。
最后,我们输出单词数量,并结束程序。
希望这个程序能够帮到你!
阅读全文