typestar

Clasificar caracteres en C

ctype.h responde qué es un carácter, sin codificar rangos ASCII a mano.

int count_digits(const char *text) {
    int digits = 0;
    for (const char *p = text; *p != '\0'; p++) {
        unsigned char c = (unsigned char) *p;
        if (isdigit(c)) {
            digits++;
        }
    }
    return digits;
}

void shout(char *text) {
    for (char *p = text; *p; p++) {
        *p = (char) toupper((unsigned char) *p);
    }
}

Cómo funciona

  1. isalpha, isdigit e isspace clasifican un carácter.
  2. toupper y tolower lo convierten.
  3. Pasa el carácter como unsigned char para mantenerte en terreno definido.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
288
Tokens
107
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 71 segundos.

Escribe este fragmento

Paso 5 de 5 en Arreglos y cadenas; paso 26 de 35 en Fundamentos del lenguaje.

← Anterior Siguiente →