用C语言 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
时间: 2023-07-10 13:12:01 浏览: 92
输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数
好的,以下是实现该功能的C语言代码:
```c
#include <stdio.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 ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letter++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else if (str[i] == ' ') {
space++;
} else {
other++;
}
}
printf("字母个数:%d\n", letter);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", space);
printf("其他字符个数:%d\n", other);
return 0;
}
```
以上代码中,我们定义了一个 `str` 字符数组,用于存储输入的一行字符,同时定义了 `letter`、`digit`、`space` 和 `other` 四个整型变量,分别用于统计英文字母、数字、空格和其他字符的个数。
使用 `fgets` 函数从标准输入中获取一行字符输入,并使用 `for` 循环遍历每个字符,根据其 ASCII 码值范围判断其属于哪一类字符,最后分别输出四种字符的个数。
注意,我们使用 `fgets` 函数获取输入时,会将输入缓存区中的 `\n` 字符一并读入,因此需要在判断字符类别时忽略该字符。
阅读全文