Por definición un número primo es un entero mayor que 1 que tiene únicamente dos divisores distintos: él mismo y 1.
Lo que hace el programa es tomar todos los números y dividirlos por cada uno de los 100 números, entonces verifica el número de divisores que tiene y si es igual a 2 entonces el valor actual es un número primo y lo imprime.
Para calcular los número primos hasta n cantidad, solo se debe cambiar los valores "100" de los ciclos for.
#include
int main(void)
{
for (int j=2;j<=100;j++){//por definicion el 1 no es primo, se empieza en 2
int a=0;
for(int i=1;i<=100;i++)//divide a j entre los números del 1 al 100
{
if(j%i==0) // si num1 módulo de i es 0, incrementamos a en 1.
a++;
}
if (a==2){ //si solo tiene dos números divisores entonces es primo y se imprime
printf("%d\n", j);
}
}
}