sábado, 13 de junio de 2026

Pedir un número y determine cuántos dígitos son divisible entre tres en C

Código del ejercicio:

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int c = 0, n;
    printf("Ingrese un número: ");
    scanf("%i", &n);
    while(n > 0){
        if((n % 10) % 3 == 0){
            c++;
        }
        n /= 10;
    }
    printf("La cantidad de dígitos divisible entre tres son: %i", 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 <locale.h> --> especificador de configuración regional.
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.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> 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.
/= --> el operador de asignación de división ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.

Explicación del Código:

Este programa en C solicita un número al usuario y analiza cuántos de sus dígitos son divisibles entre 3.

🔹 Librerías usadas

  • stdio.h: permite entrada y salida de datos.
  • locale.h: configura el idioma del programa.

🔹 Configuración del idioma

setlocale(LC_CTYPE, "Spanish"); activa soporte para caracteres en español.

🔹 Variables

  • c: contador de dígitos divisibles entre 3.
  • n: número ingresado por el usuario.

🔹 Proceso del programa

  • Se obtiene el último dígito con n % 10.
  • Se verifica si es divisible entre 3.
  • Si cumple, se incrementa c.
  • Se elimina el último dígito con n /= 10.

🔹 Resultado

Se muestra cuántos dígitos del número son divisibles entre 3.

💻 Código en C

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int c = 0, n;
    printf("Ingrese un número: ");
    scanf("%i", &n);

    while(n > 0){
        if((n % 10) % 3 == 0){
            c++;
        }
        n /= 10;
    }

    printf("La cantidad de dígitos divisible entre tres son: %i", c);
    return 0;
}
        

No hay comentarios.:

Publicar un comentario

Convertir yardas a pies en HTML y JavaScript

Código del ejercicio: <! DOCTYPE html > < html lang = "es" > < head >     < meta charset = ...

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