How to find the Kth smallest number in an unsorted array with C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int findKthSmallestNumber(int arr[], int size, int k) {
    qsort(arr, size, sizeof(int), compare);
    
    return arr[k - 1];
}

int main() {
    int arr[] = { 42, 90, 21, 30, 37, 81, 45 };
    int k = 3;
    int size = sizeof(arr) / sizeof(arr[0]);

    printf("%d\n", findKthSmallestNumber(arr, size, k));
    
    return 0;
}



/*
run:

37

*/

 



answered 1 day ago by avibootz
...