Здесь есть много решений, которые не дают равномерного распределения, и многие комментарии указывают на это, но вопрос не устанавливает это как требование . Самое простое решение:
int rand_7() { return rand_5(); }
Случайное целое число в диапазоне 1 - 5 явно находится в диапазоне 1 - 7. Ну, технически самое простое решение - вернуть константу, но это слишком тривиально.
Однако я думаю, что существование функции rand_5 - это красная сельдь. Предположим, что вопрос был задан как «создать равномерно распределенный генератор псевдослучайных чисел с целочисленным выводом в диапазоне 1 - 7». Это простая проблема (не технически простая, но уже решенная, так что вы можете ее найти.)
С другой стороны, если вопрос интерпретируется как означающий, что у вас действительно есть генератор действительно случайных чисел для целых чисел в диапазоне 1 - 5 (не псевдослучайный), то решение будет таким:
1) examine the rand_5 function
2) understand how it works
3) profit