martes, 16 de junio de 2026

Generar los números impares del 1 hasta n número y excluir un número en C

Código del ejercicio:

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

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int n = 1, num, x;
    printf("Ingrese un número: ");
    scanf("%i", &num);
    printf("Ingrese un número a excluir: ");
    scanf("%i", &x);
    while(n <= num){
        if(n != x){
            printf("%i,", n);
        }
        n += 2;
    }
    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.
for --> el ciclo for recorre un bloque de código varias veces.
<= --> 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 de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.

Explicación del Código:

¿Qué hace este programa?

Este programa genera los números impares desde 1 hasta un número ingresado por el usuario, pero permite excluir un número específico.

Código original

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

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int n = 1, num, x;

    printf("Ingrese un número: ");
    scanf("%i", &num);

    printf("Ingrese un número a excluir: ");
    scanf("%i", &x);

    while(n <= num){
        if(n != x){
            printf("%i,", n);
        }
        n += 2;
    }

    return 0;
}

Explicación simple

#include <stdio.h>: Permite usar entrada y salida como printf y scanf.

#include <locale.h>: Permite usar configuración de idioma.

setlocale(LC_CTYPE, "Spanish");: Configura el idioma en español.

int n = 1: Inicia en 1 para generar números impares.

num: Número máximo ingresado por el usuario.

x: Número que se desea excluir.

while(n <= num): Repite hasta llegar al número ingresado.

if(n != x): Evita imprimir el número excluido.

n += 2: Suma 2 para generar solo impares.

Código del ejercicio: Otra forma de hacer

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

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int n, num, x;
    printf("Ingrese un número: ");
    scanf("%i", &num);
    printf("Ingrese un número a excluir: ");
    scanf("%i", &x);
    for(n = 1; n <= num; n += 2){
        if(n != x){
            printf("%i,", n);
        }
    }
    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.
for --> el ciclo for recorre un bloque de código varias veces.
<= --> 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 de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.

Explicación del Código:

📌 ¿Qué hace este programa?

Este programa genera los números impares desde 1 hasta el número ingresado por el usuario, pero excluye un número específico que el usuario indique.

🧠 Librerías utilizadas

stdio.h: Permite usar funciones de entrada y salida como printf y scanf.
locale.h: Permite configurar el idioma del sistema.

⚙️ Funcionamiento del programa

1. Se piden dos números al usuario: el límite y el número a excluir.
2. Se recorre desde 1 hasta el número ingresado avanzando de 2 en 2 (impares).
3. Si el número actual no es el excluido, se imprime en pantalla.

💻 Resultado

El programa muestra una lista de números impares desde 1 hasta n, sin incluir el número que el usuario decidió excluir.

No hay comentarios.:

Publicar un comentario

Convertir horas a minutos 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. ❤️