输入一行字符并统计出英文字母空格,空格,数字,和其他字符个数用C语言写
时间: 2023-11-07 22:02:07 浏览: 79
以下是一个简单的示例程序,可以实现输入一行字符并统计出英文字母、空格、数字和其他字符个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char text[100];
int i, alpha_count = 0, space_count = 0, digit_count = 0, other_count = 0;
printf("请输入一行字符:");
fgets(text, sizeof(text), stdin);
for (i = 0; text[i] != '\0'; i++) {
if (isalpha(text[i])) {
alpha_count++;
} else if (isspace(text[i])) {
space_count++;
} else if (isdigit(text[i])) {
digit_count++;
} else {
other_count++;
}
}
printf("英文字母个数:%d\n", alpha_count);
printf("空格个数:%d\n", space_count);
printf("数字个数:%d\n", digit_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
解释:
1. 首先定义一个字符数组 `text`,用于存储用户输入的一行字符。
2. 定义变量 `alpha_count`、`space_count`、`digit_count`、`other_count`,分别用于统计英文字母、空格、数字和其他字符的个数,初始化为零。
3. 使用 `fgets` 函数从标准输入中读取用户输入的一行字符,并将其存储到 `text` 数组中。
4. 使用 `for` 循环遍历 `text` 数组中的每一个字符,根据字符的类型更新相应的计数器变量。
5. 最后输出各种字符的个数。
需要注意的是,本程序使用了标准库中的 `ctype.h` 头文件中的三个函数来判断字符的类型:
- `isalpha`:判断字符是否为英文字母。
- `isspace`:判断字符是否为空格字符。
- `isdigit`:判断字符是否为数字字符。
这些函数都返回一个非零值表示判断结果为真,否则为假。
阅读全文