En este ejercicio de C vamos a ver cómo hacer un programa que imprima todos los números impares que se encuentren en un rango o entre dos variables proporcionadas por un usuario.
También vamos a ver lo contrario, es decir, cómo mostrar todos los números pares entre dos variables proporcionadas por el usuario.
Es decir, imprimir los impares o pares que se encuentren entre dos números o entre un rango.
Para ello, vamos a usar el operador módulo que nos dice el residuo de dividir a un número entre otro.
Explicación del algoritmo
Simplemente tenemos que pedir al usuario el inicio y el fin. Después hacemos un ciclo desde inicio hasta fin; en cada iteración o paso comprobamos si el paso en que vamos (denotado por x
) es par o impar, si cumple la condición lo imprimimos.
Recuerda que ya expliqué en otro post cómo saber si un número es par o impar en C.
Imprimir números impares en rango con C
Veamos el primer acercamiento, en este caso imprimimos todos los impares. El código fuente queda así:
#include <stdio.h>
int main(void) {
int inicio, fin;
printf("Inicio:\n");
scanf("%d", &inicio);
printf("Fin:\n");
scanf("%d", &fin);
for (int x = inicio; x <= fin; x++) {
if (x % 2 != 0) {
printf("%d,", x);
}
}
return 0;
}
La comprobación está en la línea 10, si es impar, se imprime con printf
.
Imprimir números pares con C
Ahora veamos el otro caso en donde los números impresos deben ser pares. El código queda así:
#include <stdio.h>
int main(void) {
int inicio, fin;
printf("Inicio:\n");
scanf("%d", &inicio);
printf("Fin:\n");
scanf("%d", &fin);
for (int x = inicio; x <= fin; x++) {
if (x % 2 == 0) {
printf("%d,", x);
}
}
return 0;
}
Como ves simplemente se cambia el if
para ver si x
es par.