come dice oregon, l'hai usato srand() ????
se usi srand() così per esempio,
codice:
srand((unsigned int)time(NULL));
avrai sempre numeri diversi...

per il fatto di avere numeri a 2, 3, 4, 5... n cifre la funzione rand() usata con l'operatore modulo fa si che si diano degli "estremi" per i numeri cercati...

cioè ad esempio
codice:
x = rand() % 10;
x sarà un numero randomico tra 0 e 9...