c语言输入一串字符,统计其中英文字母,数字字母,空格和其他字母的个数
时间: 2024-12-21 13:29:40 浏览: 3
在C语言中,我们可以使用字符分类的方式来统计输入字符串中的各种字符类型。以下是一个简单的例子,它会分别统计英文字符(包括大小写字母)、数字、空格以及其他字符的数量:
```c
#include <stdio.h>
#include <ctype.h>
void count_characters(char *str) {
int alpha_count = 0; // 英文字符
int digit_count = 0; // 数字
int space_count = 0; // 空格
int other_count = 0; // 其他字符
while(*str) { // 遍历字符串
if(isalpha(*str)) { // 检查是否为字母(不分大小写)
alpha_count++;
} else if(isdigit(*str)) { // 检查是否为数字
digit_count++;
} else if(*str == ' ') { // 检查是否为空格
space_count++;
} else { // 其他字符
other_count++;
}
str++; // 移动指针到下一个字符
}
printf("英文字符数: %d\n", alpha_count);
printf("数字字符数: %d\n", digit_count);
printf("空格字符数: %d\n", space_count);
printf("其他字符数: %d\n", other_count);
}
int main() {
char input[100];
printf("请输入一串字符:");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串
// 去掉fgets读取的换行符
if(input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
count_characters(input);
return 0;
}
```
这个程序使用了`ctype.h`库中的`isalpha`和`isdigit`函数来判断字符类型。`isalpha`用于检查字符是否为字母,`isdigit`则用于检查字符是否为数字。
阅读全文