用c语言解决如下问题:输入一行字符分别统计出其中英文字母、数字、空格和其他字符的个数,分别输出个数,中间用空格隔开
时间: 2024-11-23 10:18:58 浏览: 24
在C语言中,你可以通过使用`ctype.h`库提供的函数来识别并统计输入字符串中的各种字符类型。下面是一个简单的程序示例:
```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("Enter a line of characters: ");
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("Alpha count: %d Space count: %d Digit count: %d Other count: %d\n",
alpha_count, space_count, digit_count, other_count);
return 0;
}
```
这个程序首先获取用户的输入,然后遍历每一字符。对于每个字符,它检查其是否是字母(由`isalpha()`判断)、数字(`isdigit()`)、空格(`isspace()`)或其他字符(通过`else`分支)。最后,它打印出各类型的字符计数值。
阅读全文