用C语言写出输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
时间: 2023-11-25 15:08:10 浏览: 57
输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int letter = 0, digit = 0, space = 0, other = 0;
printf("请输入一行字符:\n");
fgets(str, 100, stdin); // 从标准输入读取一行字符串
for (int i = 0; str[i] != '\0'; i++)
{
if (isalpha(str[i])) // 判断是否为英文字母
letter++;
else if (isdigit(str[i])) // 判断是否为数字
digit++;
else if (isspace(str[i])) // 判断是否为空格
space++;
else // 其他字符
other++;
}
printf("英文字母个数:%d\n", letter);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", space);
printf("其他字符个数:%d\n", other);
return 0;
}
```
注:该程序中使用了 `ctype.h` 头文件中的 `isalpha()`、`isdigit()` 和 `isspace()` 函数来判断字符类型。`fgets()` 函数可以一次性读取一行字符串,避免了使用 `scanf()` 函数时遇到空格就停止读取的问题。
阅读全文