#include <stdio.h>
#include <string.h>
void count(char str[]) {
int letter = 0, digit = 0, space = 0, other = 0;
for (int i
= 0; i
< strlen(str
); i
++) { if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letter++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else if (str[i] == ' ') {
space++;
} else {
other++;
}
}
printf("字母个数: %d\n数字个数: %d\n空格个数: %d\n其他字符个数: %d\n", letter
, digit
, space
, other
); }
int main() {
char str[100];
fgets(str
, sizeof(str
), stdin
); if (str
[strlen(str
) - 1] == '\n') { }
count(str);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4Kdm9pZCBjb3VudChjaGFyIHN0cltdKSB7CiAgICBpbnQgbGV0dGVyID0gMCwgZGlnaXQgPSAwLCBzcGFjZSA9IDAsIG90aGVyID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3RybGVuKHN0cik7IGkrKykgewogICAgICAgIGlmICgoc3RyW2ldID49ICdhJyAmJiBzdHJbaV0gPD0gJ3onKSB8fCAoc3RyW2ldID49ICdBJyAmJiBzdHJbaV0gPD0gJ1onKSkgewogICAgICAgICAgICBsZXR0ZXIrKzsKICAgICAgICB9IGVsc2UgaWYgKHN0cltpXSA+PSAnMCcgJiYgc3RyW2ldIDw9ICc5JykgewogICAgICAgICAgICBkaWdpdCsrOwogICAgICAgIH0gZWxzZSBpZiAoc3RyW2ldID09ICcgJykgewogICAgICAgICAgICBzcGFjZSsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG90aGVyKys7CiAgICAgICAgfQogICAgfQogICAgcHJpbnRmKCLlrZfmr43kuKrmlbA6ICVkXG7mlbDlrZfkuKrmlbA6ICVkXG7nqbrmoLzkuKrmlbA6ICVkXG7lhbbku5blrZfnrKbkuKrmlbA6ICVkXG4iLCBsZXR0ZXIsIGRpZ2l0LCBzcGFjZSwgb3RoZXIpOwp9CmludCBtYWluKCkgewogICAgY2hhciBzdHJbMTAwXTsKICAgIGZnZXRzKHN0ciwgc2l6ZW9mKHN0ciksIHN0ZGluKTsKICAgIGlmIChzdHJbc3RybGVuKHN0cikgLSAxXSA9PSAnXG4nKSB7CiAgICAgICAgc3RyW3N0cmxlbihzdHIpIC0gMV0gPSAnXDAnOwogICAgfQogICAgY291bnQoc3RyKTsKICAgIHJldHVybiAwOwp9Cg==