写一个C语言程序,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
时间: 2024-11-23 16:26:20 浏览: 21
在C语言中,你可以通过遍历输入的字符串并检查每个字符的ASCII值来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
int alpha_count = 0, space_count = 0, digit_count = 0, others_count = 0;
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin); // 注意fgets会保留换行符,这里我们通常需要去掉它
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
for (int i = 0; input[i] != '\0'; i++) {
if (isalpha(input[i])) { // 检查是否为字母
alpha_count++;
} else if (isspace(input[i])) { // 检查是否为空格
space_count++;
} else if (isdigit(input[i])) { // 检查是否为数字
digit_count++;
} else { // 其他字符(包括标点符号等)
others_count++;
}
}
printf("英文字母的数量: %d\n", alpha_count);
printf("空格的数量: %d\n", space_count);
printf("数字的数量: %d\n", digit_count);
printf("其他字符的数量: %d\n", others_count);
return 0;
}
```
在这个程序中,`isalpha()`函数用于判断字符是否为字母,`isspace()`用于判断是否为空格,`isdigit()`用于判断是否为数字。其余的字符会被归为"其他字符"。
阅读全文