#include <stdio.h>
#include <stdint.h>
void sort_desc(uint8_t *arr, uint8_t n) {
for (uint8_t i = 0; i < n - 1; ++i)
{
for (uint8_t j = i + 1; j < n; ++j)
{
if(*(arr + i) < *(arr + j))
{
*(arr + i) = *(arr + i) + *(arr + j);
*(arr + j) = *(arr + i) - *(arr + j);
*(arr + i) = *(arr + i) - *(arr + j);
}
}
}
}
void find_top_3(uint8_t *arr, uint8_t n) {
sort_desc(arr, n);
if(n >= 3)
{
printf("%hhu %hhu %hhu", *arr, *(arr + 1), *(arr + 2));
}
else
{
for (int i = 0; i < n; ++ i)
{
printf("%hhu ", *(arr + i));
}
}
}
int main() {
uint8_t n;
scanf("%hhu", &n);
uint8_t arr[100];
for (uint8_t i = 0; i < n; i++) {
scanf("%hhu", &arr[i]);
}
find_top_3(arr, n);
return 0;
}
Input
6 10 90 20 80 70 30
Expected Output
90 80 70