用C语言;输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数
时间: 2023-05-26 13:01:14 浏览: 104
A:
```c
#include <stdio.h>
int main() {
char str[100];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符:");
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
letters++;
} else if (str[i] == ' ') {
spaces++;
} else if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else {
others++;
}
}
printf("英文字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
输入一行字符后,使用 for 循环遍历字符串中每个字符,根据其 ASCII 码值判断属于哪种类型,并且累加计数器。
其中,小写字母的 ASCII 码值范围是 a 到 z,大写字母的范围是 A 到 Z,数字的范围是 0 到 9。
使用 fgets 函数读取输入时,需要指定读取字符的最大数量(通常不超过数组长度),以防止缓冲区溢出。
阅读全文