c编码:统计其他字符(每个中文字符算1个)的个数,去除大小写字母,数字,空格
时间: 2023-12-15 19:04:39 浏览: 69
统计字符串中数字、字母和空格的个数
5星 · 资源好评率100%
以下是一个统计其他字符(每个中文字符算 1 个)个数的代码,并去除大小写字母、数字和空格:
```
#include <stdio.h>
#include <ctype.h>
int main() {
int chinese = 0, other = 0;
char c;
while ((c = getchar()) != EOF) {
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || isdigit(c) || isspace(c)) {
continue;
} else if (c < 0) { // 中文字符占两个字节,判断第一个字节是否小于 0 即可
chinese++;
} else {
other++;
}
}
printf("chinese: %d, other: %d\n", chinese, other);
return 0;
}
```
该代码利用了字符编码的特性,对于中文字符,它们的编码范围是 0x4E00 ~ 0x9FA5,且每个中文字符占两个字节。因此,我们可以通过判断字符是否小于 0 来判断它是否为中文字符。对于其他字符,我们可以通过判断它是否为字母、数字或空格,来进行过滤。
阅读全文