#include <stdio.h> #include <stdint.h> void find_top_3(uint8_t *arr, uint8_t n) { if(n==1){ printf("%hhu",arr[n-1]); } else if(n==2){ uint8_t c; uint8_t min=arr[n-2]; if(arr[n-2]<arr[n-1]){ c=arr[n-1]; arr[n-1]=arr[n-2]; arr[n-2]=c; } printf("%hhu %hhu", arr[n-2], arr[n-1] ); } else if(n>=3){ // Your logic here uint8_t tempt; for(uint8_t i=0; i<n; i++){ for(uint8_t j=i+1; j<n;j++){ if(arr[i]>arr[j]){ tempt=arr[i]; arr[i]=arr[j]; arr[j]=tempt; } } } printf("%hhu %hhu %hhu", arr[n-1], arr[n-2], arr[n-3]); } } 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