помогите пожалуйста написать программку на СИ,

Условие:

размер массива 40 и задается с клавиатуры. Заполнение массива с помощью датчика случаных чисел или с клавиатуры по выбору пользователя. Элементы массива целые неотрицательные числа. Максимальное значение элементов массива задается с клавиатуры и не превышает 99. Все параметры вводятся с клавиатуры или считываются с файла по желанию.
Ввести значения числа сравнений и числа перестановок.

Все надписи вводятся на одном языке,
программа не долна закрываться аварийно, должно выдаваться соответствующее сообщение.
программа должна состоять из нескольких файлов и
должна содержать комментарии поясняющие используемые алгоритмы.