#define LIMITE 35000
int main ()
{
int i, j, primo, num;
printf ("Introduzca numero: ");
scanf ("%d", &num);
i = num + 1;
do
{
primo = 1;
for (j = 2; j <= i/2 && primo; j++) //Pasamos por todos los números hasta i/2
if((i%j) == 0) //Si se encuentra un divisor (i/j -> resto==0) se pone que primo es = a 0
primo = 0;
if (primo) //Si es primo, lo escribe
printf("%d\n", i);
i++; //Aumenta 'i', para ir al siguiente número
}while ( i < LIMITE && !primo);
system("pause");
return 0;
}
Sencillamente, mira todos los números, desde 2 hasta la mitad del número, para ver si alguno es divisor. Si alguno lo es, resulta que no es primo, y primo = 0.
El programa mira el primer número superior al número que tú le introduces.
Acerca de lo de i/2, es porque, si no es divisible por 2, tampoco es divisible por su mitad. Así se ahorra mucho tiempo en números grandes.