Este programa muestra los x primeros números primos, siendo x un valor introducido.
Lo he hecho con una función que determina si un número primo, y si lo es añade 1 al contador, mediante una función de paso de parámetro.
#include <stdio.h>
#include <conio.h>
void primo(unsigned num, unsigned &contador);
int main()
{
unsigned veces,i=1,contador=1;
printf("Este programa va a motrar los n primeros primos. Introduce n: ");
scanf("%u",&veces);
while(contador<=veces)
{
primo(i,contador);
i++;
}
getch();
return 0;
}
void primo(unsigned num, unsigned &contador)
{
unsigned primo=1,divisor=2;
if(num==1)
{
printf("1t");
contador++;
}
else
{
while((primo==1)&&(num!=divisor))
{
if(num%divisor==0)
primo=0;
else
divisor++;
}
if(primo==1)
{
contador++;
printf("%ut",num);
}
}
}