sábado, 13 de junio de 2026

Contar la vocal "o" en una cadena dada por teclado en C

Código del ejercicio:

#include <stdio.h>
#include <string.h>

int main(){
    int c = 0, i = 0;
    char s[200];
    printf("Ingresar texto: ");
    gets(s);
    while(i < strlen(s)){
        if(s[i] == 'o'){
            c++;
        }
        i++;
    }
    printf("El texto tiene %i vocales o.", c);
    return 0;
}

Definición de los códigos del ejercicio:

#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.
#include <string.h> --> declara un conjunto de funciones para trabajar con cadenas.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
gets() --> lee una cadena de texto desde teclado.
char a[size] = "hola"; --> una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
strlen() --> devuelve la longitud de una cadena de texto.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

#include <stdio.h>
#include <string.h>

int main(){
    int c = 0, i = 0;
    char s[200];

    printf("Ingresar texto: ");
    gets(s);

    while(i < strlen(s)){
        if(s[i] == 'o'){
            c++;
        }
        i++;
    }

    printf("El texto tiene %i vocales o.", c);  

    return 0;
}

#include <stdio.h>

Permite utilizar funciones de entrada y salida como printf() y gets().

#include <string.h>

Permite trabajar con cadenas de texto y usar funciones como strlen().

int main()

Es la función principal donde inicia el programa.

int c = 0, i = 0;

La variable c cuenta las vocales "o".
La variable i recorre cada letra del texto.

char s[200];

Guarda el texto ingresado por el usuario con capacidad para 200 caracteres.

printf("Ingresar texto: ");

Muestra un mensaje solicitando un texto.

gets(s);

Lee el texto ingresado por teclado y lo almacena en la variable s.

while(i < strlen(s))

Recorre todas las letras de la cadena mientras no llegue al final.

if(s[i] == 'o')

Verifica si la letra actual es la vocal "o".

c++;

Incrementa el contador cada vez que encuentra una vocal "o".

i++;

Avanza a la siguiente letra del texto.

printf("El texto tiene %i vocales o.", c);

Muestra la cantidad total de vocales "o" encontradas.

return 0;

Finaliza el programa correctamente.

No hay comentarios.:

Publicar un comentario

Mostrar los n primeros números de la siguiente serie: 1,3,9,11,33,35,105,107,... en C

Código del ejercicio: #include <stdio.h> #include <locale.h> int main (){     setlocale (LC_CTYPE, "Spanis...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️