咋个把数字 空格 字符 分开 咋个判断它是那一类啊 用ASCLL可以判断字符 空格 那数字咋个弄喃



这是啥原理
咋个把数字 空格 字符 分开 咋个判断它是那一类啊 用ASCLL可以判断字符 空格 那数字咋个弄喃



#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, other = 0, sum = 0;
printf("请输入一串字符串:\n");
fgets(str, sizeof(str), stdin); // 从键盘输入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) { // 判断是否为大写字母
upper++;
} else if (islower(str[i])) { // 判断是否为小写字母
lower++;
} else if (isdigit(str[i])) { // 判断是否为数字
digit++;
sum += str[i] - '0'; // 将数字转为 ASCII 码值再转为整数相加
} else { // 其他字符
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
printf("所有数字之和:%d\n", sum);
return 0;
}