从键盘输入英语句子(可能包含大小写字母,数字,其它符号等),统计单词的个数。要求: (1)主函数中定义字符数组实现输入英语句子的存储; (2)调用函数实现单词个数的统计,实际参数为字符数组名; (3)函数参数的形式参数为字符型指针变量; (4)在主函数中显示统计结果。
时间: 2024-02-02 09:05:29 浏览: 125
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
下面是一个实现上述功能的 C 语言程序:
```c
#include <stdio.h>
#include <ctype.h>
int count_words(char *str);
int main() {
char str[100];
printf("请输入英语句子:");
fgets(str, 100, stdin);
int cnt = count_words(str);
printf("单词个数为:%d\n", cnt);
return 0;
}
int count_words(char *str) {
int cnt = 0;
int flag = 0; // 标记当前是否在一个单词中
while (*str != '\0') {
if (isalnum(*str)) {
if (!flag) {
flag = 1;
cnt++;
}
} else {
flag = 0;
}
str++;
}
return cnt;
}
```
程序中定义了一个 `count_words` 函数,用于统计单词个数。该函数的参数为一个字符型指针变量,指向输入的英语句子。函数通过遍历字符串,判断当前是否在一个单词中(通过标记变量 `flag`),从而统计单词个数。
在 `main` 函数中,首先通过 `fgets` 函数从键盘读取输入的英语句子,然后调用 `count_words` 函数统计单词个数,并输出结果。
阅读全文