通过ascii码表来对比整数大小,当然这解法不简洁,看评论的解法都挺优雅的。

#include <stdio.h>

int main() {
    int letters = 0, digits = 0, others = 0, assic = 0;
    char c;
    while(true) {
        scanf("%c", &c);
        if(c == '?') {
            break;
        }
        assic = (int) c;
        if(assic >= 65 && assic <= 90 || assic >= 97 && assic <= 122) {
            letters++;
        }else if(assic >= 48 && assic <= 57) {
            digits++;
        }else{
            others++;
        }
    }
    
    printf("Letters=%d\n", letters);
    printf("Digits=%d\n", digits);
    printf("Others=%d\n", others);
    
}