hola! antes de hacer un programa siempre es bueno leer información relacionada, incluso tan simple como esto...
lo que te dirá cualquier articulo es que
- un numero siempre tendrá divisores iguales o menores a su raiz
- uno no es primo
- ningún par (mas que el 2) es primo
así que... una formula general para buscar numeros primos es
posible_primo = x
si x es 2, es primo (terminar programa)
si x es par, no es primo (terminar programa)
si x es 3, es primo (terminar programa)
entero i
para i desde 3, hasta i menor o igual que la raiz de x{
si x es multiplo de i, no es primo (terminar programa)
i = i+2
}
x es primo (terminar programa)
como la operación de raiz usualmente es "complicada" se invierte el sentido en "i menor o igual que la raiz de x" a "i*i menor o igual que x"
ahora con tu problema... lo más practico para resolverlo es agregar una variable que llamaremos "contador", esta empieza en 0 y cada vez que consigas un primo le sumas uno
int primos[100];
int i;
int contador = 0;
for(i = 2; i < 100; i++ ){
if( es_primo(i) ){ //aquí tus operaciones, yo lo estoy resumiendo
primos[contador] = i;
contador++;
}
}
printf("los numeros primos conseguidos son: ");
for(i = 0; i < contador; i++){
printf("%i, ", primos[i]);
}