C语言:统计输入的一行英文句子中的字母及单词个数,带注解!
时间: 2024-02-12 11:05:42 浏览: 135
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,表示当前不在一个单词中。最后输出字母个数和单词个数即可。
阅读全文