спочатку сортуєте у порядку спадання, наприклад, бульбашковим алгоритмом, а потім дивитесь на перший елемент і на другий, якщо другий і перший елементи мають різне значення, то тоді повертаєте другий елемент, якщо ж вони однакові, то перевіряєте тепер другий і третій, якщо вони різні, то повертаєте третій елемент...
це на випадок отакого
5, 5, 3, 2, 1
тут треба повернути третій елемент, трійку
Але можна ще легче, я гадаю.
Дивіться. Створюємо якусь змінну з мінімальним можливим значенням, якесь там -100000000 або типу того, після цього створюєте ще одну таку змінну.
Далі проходите по кожному елементу масиву і перевіряєте - якщо поточний елемент більший значення першої змінної (у котрої значення -100000000), то присвоюєте цій змінній, і після цього одразу перевіряєте, якщо цей елемент менше першої змінної, але більше другої змінної (у котрої від початку теж значення -10000000), то присвоюєте цей елемент другій змінній.
Таким чином перша змінна буде містити максимальний елемент, а друга - максимальний, але менший за максимальний, ну ви зрозуміли.