Piccolo esempio trovato nel mio archivio (non so se è personale, cioè implementato da me direttamente oppure se preso da Internet, non mi sembra il mio stile):
codice:
#include <stdlib.h>
#include <stdio.h>

#define MAX 100

int main(void) {
  int v[MAX], i, j;

  for (i=2; i<MAX; i++)
    v[i] = 1;
  for (i=2; i<MAX; i++) {
    if (v[i] == 1) {
      printf("%d ", i);
      for (j=2; i*j<MAX; j++)
        v[i*j] = 0;
    }
  }
  printf("\n");
  return(1);
}