#include <stdio.h>
int getMax(int arr[], int size) {
int max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
int getSecondlargest(int arr[], int size, int max) {
int second_largest = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > second_largest && arr[i] < max)
second_largest = arr[i];
}
return second_largest;
}
void printNLargest(int arr[], int size, int N) {
int max = getMax(arr, size);
int second_largest = max;
printf("%3d", max);
for (int i = 1; i < N; i++) {
second_largest = getSecondlargest(arr, size, second_largest);
printf("%3d", second_largest);
}
}
int main(void) {
int arr[] = { 50, 99, 20, 100, 76, 33, 87, 40, 81, 80 };
int size = sizeof(arr) / sizeof(arr[0]);
int N = 4;
printNLargest(arr, size, N);
return 0;
}
/*
run:
100 99 87 81
*/