Hola!
Antes que nada debemos saber cual es el intervalo del rand, el cual genera valores entre 0 y 32767.
Ahora bien, tu pregunta es cómo limitar intervalos. Para ello debemos hacer los siguientes pasos:
1) Calcular el valor del rand() normalizado (entre 0 y 1):
float rand_norm=(float)num/32767;
2) Encontrar la diferencia entre tu intervalo a limitar.
p.ej. Si tu intervalo es: [3,7], la diferencia es 4 (7-3)
*Llamaremos al número mínimo de intervalo (el 3) min. Y a la diferencia entre máximo y mínimo: dif.
3) Ya puedes calcular el nuevo random dentro de tu intervalo de la siguiente manera (suponemos que quieres otener valores enteros):
int nuevo_ran= min + rand_norm * dif
Y esto es todo. Espero haber entendido tu pregunta y si es así, haber resuelto.
Un saludo!