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.
> --> 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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Este programa en C pide un número al usuario y luego ordena sus dígitos de menor a mayor.
Ejemplo:
- Entrada: 53142
- Salida: 12345
Código
#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int c = 0, aux, r, ac = 0, n;
printf("Ingrese un número: ");
scanf("%i", &n);
while(c <= 9){
aux = n;
while(aux > 0){
r = aux % 10;
if(r == c){
ac = (ac * 10) + r;
}
aux = (aux - r) / 10;
}
c++;
}
printf("%i", ac);
return 0;
}
1. Librerías
#include <stdio.h> #include <locale.h>
- stdio.h: Permite usar funciones como printf y scanf.
- locale.h: Configura caracteres del idioma español.
2. Función principal
int main(){
Aquí inicia la ejecución del programa.
3. Configuración del idioma
setlocale(LC_CTYPE, "Spanish");
Permite trabajar correctamente con caracteres del idioma español.
4. Declaración de variables
int c = 0, aux, r, ac = 0, n;
- c: contador desde 0 hasta 9.
- aux: copia temporal del número.
- r: guarda cada dígito.
- ac: almacena el número ordenado.
- n: número ingresado por el usuario.
5. Pedir el número
printf("Ingrese un número: ");
scanf("%i", &n);
El programa solicita al usuario ingresar un número.
6. Recorrer del 0 al 9
while(c <= 9){
Este ciclo revisa cada número desde 0 hasta 9.
7. Copiar el número
aux = n;
Se guarda una copia del número original.
8. Recorrer cada dígito
while(aux > 0){
Este ciclo analiza cada dígito del número.
9. Obtener el último dígito
r = aux % 10;
El operador % obtiene el último dígito.
Ejemplo:
- 523 % 10 = 3
10. Comparar el dígito
if(r == c){
Verifica si el dígito es igual al contador actual.
11. Formar el número ordenado
ac = (ac * 10) + r;
Agrega el dígito al nuevo número ordenado.
Ejemplo:
- Si ac = 12 y r = 3
- Nuevo valor: 123
12. Eliminar el último dígito
aux = (aux - r) / 10;
Elimina el último dígito para continuar con el siguiente.
13. Incrementar el contador
c++;
Pasa al siguiente número para seguir ordenando.
14. Mostrar resultado
printf("%i", ac);
Muestra el número ordenado de menor a mayor.
Funcionamiento General
El programa revisa el número varias veces:
- Primero busca todos los 0.
- Luego todos los 1.
- Después todos los 2.
- Y así hasta el 9.
De esa manera los dígitos quedan ordenados de menor a mayor.
Ejemplo Completo
- Número ingresado: 53142
- Resultado ordenado: 12345
No hay comentarios.:
Publicar un comentario