#include <stdio.h>
#include <stdint.h>
void sort_array(uint8_t *arr, uint8_t n) {
uint8_t max = 0;
uint8_t temp[n] = {0};
uint8_t array_size = n;
uint8_t *p = arr;
while(array_size--){
for(uint8_t i = 0; i < n ; i++){
if(arr[i] == 0){
continue;
}
if((max < arr[i])){
max = arr[i];
p = &arr[i];
}
}
temp[array_size] = max;
*p = 0;
max = 0;
}
for(int i = 0; i < n; i++){
arr[i] = temp[i];
}
}
void find_top_3(uint8_t *arr, uint8_t n) {
sort_array(arr, n);
if(n >= 3){
for(int i = 2; i >= 0; i--){
printf("%d ", arr[n-1]);
n--;
}
}
else{
for(int i = n ; i > 0; i--){
printf("%d ", arr[i-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