输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。C语言
时间: 2023-11-25 08:03:54 浏览: 35
实现:
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int i, letter, digit, space, other;
printf("请输入一行字符:\n");
fgets(str, 100, stdin);
letter = digit = space = other = 0;
for (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;
}
```
解析:
1. 定义一个字符数组 `str` 存储用户输入的字符,大小为 100。
2. 定义四个变量 `letter`、`digit`、`space`、`other` 分别表示英文字母、数字、空格和其他字符的个数,初始化为 0。
3. 使用 `fgets()` 函数从标准输入(即键盘)读取一行字符,并将其存储在 `str` 数组中。
4. 遍历 `str` 数组,对于每个字符进行判断:
- 如果是英文字母,`letter` 变量加 1。
- 如果是数字,`digit` 变量加 1。
- 如果是空格,`space` 变量加 1。
- 如果是其他字符,`other` 变量加 1。
5. 输出统计结果。
阅读全文