How to print characters statistics (digit, alpha, blank, punct, lower, upper) from a string in C

1 Answer

0 votes
#include <stdio.h>
#include <ctype.h>

int main(int argc, char **argv) 
{ 
    char s[] = "aaa  , d@d !@ qCODEq$1,000,000,000change?PpP(looP)  is ?";
    int digit, alpha, blank, punct, lower, upper, i;
    
    digit = alpha = blank = punct = lower = upper = i = 0;
    
    while (s[i])
    {
        if (isalpha(s[i]))
            alpha++;
        if (isdigit(s[i]))
            digit++;
        if (isblank(s[i]))
            blank++;
        if (ispunct(s[i]))
            punct++;
        if (islower(s[i]))
            lower++;
        if (isupper(s[i]))
            upper++;
        i++;
    }
 
    printf("%d totla characters\n", i - 1);
    printf("%d alphabetic characters\n", alpha);
    printf("%d digits\n", digit);
    printf("%d blanks\n", blank);
    printf("%d punctuation symbols\n", punct);
    printf("%d lower characters\n", lower);
    printf("%d upper characters\n", upper);
    
    return(0);
}


/*
run:

60 totla characters
29 alphabetic characters
10 digits
8 blanks
14 punctuation symbols
22 lower characters
7 upper characters

*/


answered May 27, 2015 by avibootz
...