Código del ejercicio:
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> 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.
\n --> es el carácter de salto de línea y se usa para indicar el fin de una línea de texto y el inicio de una línea nueva.
Explicación del Código:
Este programa permite contar cuántas veces aparece cada dígito dentro de un número ingresado por el usuario.
#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int c = 0, r = 0, aux, fd, n;
printf("Ingrese un número: ");
scanf("%i", &n);
while(c <= 9){
aux = n;
fd = 0;
while(aux > 0){
r = aux % 10;
if(r == c){
fd++;
}
aux = (aux - r) / 10;
}
if(fd > 0){
printf("La frecuencia de %i es: %i\n", c, fd);
}
c++;
}
return 0;
}
Explicación del Código
| Código | Explicación |
|---|---|
| #include <stdio.h> | Permite utilizar funciones como printf y scanf. |
| #include <locale.h> | Se utiliza para configurar el idioma español. |
| int main() | Es la función principal donde inicia el programa. |
| setlocale(LC_CTYPE, "Spanish"); | Configura el idioma español para mostrar correctamente los caracteres. |
| int c = 0, r = 0, aux, fd, n; |
Declaración de variables:
c: dígito que se analizará. r: almacena el último dígito. aux: copia temporal del número. fd: frecuencia del dígito. n: número ingresado por el usuario. |
| printf("Ingrese un número: "); | Muestra un mensaje solicitando un número. |
| scanf("%i", &n); | Guarda el número ingresado por el usuario. |
| while(c <= 9) | Recorre todos los dígitos del 0 al 9. |
| aux = n; | Copia el número original en la variable auxiliar. |
| fd = 0; | Reinicia el contador de frecuencia. |
| while(aux > 0) | Recorre cada dígito del número. |
| r = aux % 10; | Obtiene el último dígito del número. |
| if(r == c) | Verifica si el dígito encontrado es igual al que se busca. |
| fd++; | Incrementa el contador de frecuencia. |
| aux = (aux - r) / 10; | Elimina el último dígito para continuar analizando el número. |
| if(fd > 0) | Verifica si el dígito apareció al menos una vez. |
| printf("La frecuencia de %i es: %i\n", c, fd); | Muestra la cantidad de veces que aparece el dígito. |
| c++; | Pasa al siguiente dígito. |
| return 0; | Finaliza correctamente el programa. |
Funcionamiento del Programa
Si el usuario ingresa el número:
1223341
El programa mostrará:
La frecuencia de 1 es: 2 La frecuencia de 2 es: 2 La frecuencia de 3 es: 2 La frecuencia de 4 es: 1
No hay comentarios.:
Publicar un comentario