En este ejemplo, aprenderá a imprimir todos los números primos entre dos números (ingresados por el usuario).
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:
- C para bucle
- C romper y continuar
- Funciones C
- C Funciones definidas por el usuario
Para encontrar todos los números primos entre los dos enteros, checkPrimeNumber()
se crea. Esta función comprueba si un número es primo o no.
Números primos entre dos enteros
#include int checkPrimeNumber(int n); int main() ( int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("Prime numbers between %d and %d are: ", n1, n2); for (i = n1 + 1; i < n2; ++i) ( // flag will be equal to 1 if i is prime flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( int j, flag = 1; for (j = 2; j <= n / 2; ++j) ( if (n % j == 0) ( flag = 0; break; ) ) return flag; )
Salida
Introduzca dos enteros positivos: 12 30 Los números primos entre 12 y 30 son: 13 17 19 23 29
Si el usuario ingresa primero el número mayor, este programa no funcionará como se esperaba. Para resolver este problema, primero debe intercambiar los números.