用C语言统计输入的一行字符中的英文字母、空格、数字和其它字符的个数
时间: 2023-11-17 17:59:46 浏览: 92
```c
#include <stdio.h>
int main() {
char str[100];
int letter = 0, space = 0, digit = 0, other = 0;
printf("请输入一行字符:\n");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letter++;
} else if (str[i] == ' ') {
space++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("英文字母个数:%d\n", letter);
printf("空格个数:%d\n", space);
printf("数字个数:%d\n", digit);
printf("其它字符个数:%d\n", other);
return 0;
}
```
说明:
1. 定义字符数组`str`,用于存储输入的一行字符;
2. 定义整型变量`letter`、`space`、`digit`、`other`,分别用于记录英文字母、空格、数字和其它字符的个数,初始值均为0;
3. 使用`fgets()`函数从标准输入中读取一行字符,最多读取100个字符,存储到`str`中;
4. 使用`for`循环遍历`str`中的每个字符,根据字符的类型分别对`letter`、`space`、`digit`、`other`进行累加;
5. 使用`printf()`函数输出统计结果。
注意:
1. 在判断字符是否为英文字母时,可以使用ASCII码表中字符的范围进行判断;
2. 在使用`fgets()`函数读取一行字符时,会将行末的换行符`\n`也一并读取,因此需要将其视为其它字符进行统计。
阅读全文