#include <stdio.h> #include <stdint.h> void sort_array(uint8_t *arr, uint8_t n) { for (int i=0; i<n-1; i++) { for (int j=0; j<n-i-1; j++) { if (arr[j] < arr[j+1]) { uint8_t tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } } void find_top_3(uint8_t *arr, uint8_t n) { /*Sort the array in descending order*/ sort_array(arr, n); /*Print the top three largest values*/ if (n < 3) { for (int i=0; i<n; i++) { printf("%d ", arr[i]); } } else { for (int i=0; i<3; i++) { printf("%d ", 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; }
Test Cases
Test Results
Input
6 10 90 20 80 70 30
Expected Output
90 80 70