#include <stdio.h>
#include <stdint.h>
void swp(uint8_t *arr, size_t a, size_t b){
uint8_t temp = *(arr+a);
*(arr+a) = *(arr+b);
*(arr+b) = temp;
}
void sort_array(uint8_t *arr, uint8_t n) {
// Your logic here
for (size_t i=0; i<n; i++){
for (size_t j=0; j<(n-i)-1;j++){
uint8_t left = *(arr+j);
uint8_t right = *(arr+j+1);
if (left > right){
swp(arr, j, j+1);
}
}
}
}
void find_top_3(uint8_t *arr, uint8_t n) {
sort_array(arr, n);
if (n >= 3){
printf("%lu %lu %lu", arr[n-1], arr[n-2], arr[n-3]);
} else if (n == 2){
printf("%lu %lu", arr[n-1], arr[n-2]);
} else if (n == 1){
printf("%lu", arr[n-1]);
}
}
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