用C语言实现:统计该字符串中的英文字母(包括大小写)、数字、空格、其他字符(每个中文字符算1个)的个数
时间: 2023-11-19 07:10:58 浏览: 118
以下是用C语言实现的程序,可以统计一个字符串中英文字母(包括大小写)、数字、空格、其他字符(每个中文字符算1个)的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letter_count = 0, digit_count = 0, space_count = 0, other_count = 0, chinese_count = 0;
printf("请输入一个字符串: ");
fgets(str, 100, stdin);
for(int i = 0; str[i] != '\0'; i++) {
if(isalpha(str[i]))
letter_count++;
else if(isdigit(str[i]))
digit_count++;
else if(isspace(str[i]))
space_count++;
else if(str[i] >= 0x4E00 && str[i] < 0x9FA5)
chinese_count++;
else
other_count++;
}
printf("英文字母个数: %d\n", letter_count);
printf("数字个数: %d\n", digit_count);
printf("空格个数: %d\n", space_count);
printf("其他字符个数: %d\n", other_count);
printf("中文字符个数: %d\n", chinese_count);
return 0;
}
```
程序首先读入一个字符串,然后遍历字符串,判断每个字符属于哪一类,分别累加计数器。其中,isalpha函数用于判断字符是否为字母,isdigit函数用于判断字符是否为数字,isspace函数用于判断字符是否为空格。中文字符的判断使用了Unicode编码的范围。最后,程序输出各类字符的个数。
阅读全文