É verdade, mas trocando um bocadinho as coisas já não:Só uma questão, o algoritmo recursivo não é péssimo? Uma repetição de um número aleatório faz com que se gere uma sequência completa.
Código:
void aleat( char *xpto, int n, int min, int max )
{
if( n > 1) aleat( xpto+1, n-1, min, max );
do *xpto = rand() % max + min;
while( strchr( xpto+1, *xpto ) );
}