No acabo de entender tu algoritmo...
 
Yo lo haría tal que así:    
Código C:
Ver original- #include <stdio.h> 
-   
- #define MAX 100 
-   
- int main() 
- { 
-     unsigned int i = 2; 
-     unsigned int j = 2; 
-     unsigned int Contador = 0; 
-   
-     short primo = 1; // 1 significa true, 0 significa falso 
-   
-     while (Contador < MAX) 
-     { 
-         for (j = 2; j <i;j++) 
-             if (i%j == 0) 
-             { 
-                 j = i; // Forzamos la salida del bucle for 
-                 primo = 0; // No es primo 
-             } 
-   
-         if (primo == 1) 
-         { 
-             Contador++; 
-             printf("El numero %d es el primo %d \n",- i ,- Contador );
 
-         } 
-         i++; 
-         primo = 1; 
-     } 
-   
-     return 0; 
- }