Count Alphabets Digits and Symbols in a String

Code

#include <stdio.h>
#include <stdint.h>

void classify_chars(uint8_t *alpha, uint8_t *digits, uint8_t *symbols, char *str){
    /* Xet cac ki tu triong */
    int i = 0;
    while(str[i] != '\0'){
        if((str[i] >= 'A' && str[i] <= 'Z' )|| (str[i] >= 'a' && str[i] <= 'z')) (*alpha)++;
        else if((str[i] >= '0' && str[i] <= '9')) (*digits)++;
        else if (str[i] != ' ') (*symbols)++;
        i++;
    }
}

int main(){
    char str[101];
    uint8_t count_alpha = 0, count_digits = 0, count_sym=0;
    fgets(str, sizeof(str), stdin);
    
    int i = 0;
    while(str[i]){
        if(str[i] == '\n'){str[i] = '\0'; break;}
        i++;
    }
    classify_chars(&count_alpha, &count_digits, &count_sym, str);
    printf("Alphabets = %u\nDigits = %u\nSymbols = %u", count_alpha, count_digits, count_sym);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

C99_Firmware!

Expected Output

Alphabets = 9 Digits = 2 Symbols = 2