Hola,
si nos ponemos a hacer código, cuando mejor sea mejor, no?
para saber si es un número es primo, no hay que llegar a dividirle entre todos los numeros anteriores a ese número para saberlo, por una demostración algebraica, que no me voy a para a explicar, con probar hasta la raíz cuadrada de ese mismo número es suficiente (raíz cuadrada inclusive, así que hace falta sustituir el menor por un menor o igual en el for).
ahora, para saber la raíz cuadrada de un número hace falta importar la biblioteca math.h, además de tener en cuenta al compilar, poner la opción "-lm", con lo que un ejemplo de compilación puede ser:
gcc -lm -o prueba prueba.c
y el programa quedaría de la siguiente manera:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int numero;
int i;
int es_primo;
printf("Introduce el numero: "); if (scanf("%d", &numero
) != 1 || numero
< 2) return EXIT_FAILURE;
es_primo = numero == 2 || numero % 2 == 1;
for (i
= 3; i
<= sqrt(numero
) && es_primo
; i
+= 2) if (numero % i == 0)
es_primo = 0;
printf("%d %s primo\n", numero
, (es_primo
)?"es":"no es");
return EXIT_SUCCESS;
}
Saludos