C语言实现 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
时间: 2024-12-29 07:28:08 浏览: 12
在C语言中,你可以使用标准库函数来实现这个功能,比如`isalnum()`检查字符是否为字母或数字,`isspace()`检查是否为空格,其他的字符可以通过`!isalnum()`和`!isspace()`来判断。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含字符测试函数
int main() {
char input[100];
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin); // 读取一行字符
for (int i = 0; input[i] != '\0'; i++) { // 遍历字符串
if (isalpha(input[i])) { // 字母
alpha_count++;
} else if (isdigit(input[i])) { // 数字
digit_count++;
} else if (isspace(input[i])) { // 空格
space_count++;
} else { // 其他字符
other_count++;
}
}
printf("英文字母: %d, 数字: %d, 空格: %d, 其他字符: %d\n", alpha_count, digit_count, space_count, other_count);
return 0;
}
```
这个程序会提示用户输入一行字符,然后遍历每一个字符,根据其ASCII类别增加对应的计数器。注意,我们使用了`fgets()`代替直接`scanf`,以避免缓冲区溢出的问题,并且忽略了换行符`\n`。
阅读全文