In this tutorial, we are going to write a C Program for finding the desired kth smallest element in an array in C Programming with practical program code and step-by-step full complete explanation.

C Program for finding the desired kth smallest element in an array


C Program for finding the desired kth smallest element in an array.

 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

void main()
{
    int *arr,i,j,n,temp,k;

    clrscr();

    printf("Enter te number of elements in the array");
    scanf("%d",&n);

    arr=(int*)malloc(sizeof(int)*n);

    for(i=0;i<n;i++)
    {
        printf("Enter a number");
        scanf("%d",&arr[i]);
    }

    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(arr[i]<arr[j])
            {
                temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
            }
        }
    }

    printf("Elements of array after sorting\n");

    for(i=0;i<n;i++)
    {
        printf("%d\t",arr[i]);
    }

    printf("\nWhich smallest element do you want to determine");
    scanf("%d",&k);

    if(k<=n)
        printf("Desired smallest element is %d\n",arr[k-1]);
    else
        printf("Please enter a valid value for finding the particular smallest element\n");

    getch();
}


Output

 
Enter the number of elements in the array 5
Enter a number: 33
Enter a number: 32
Enter a number: 46
Enter a number: 68
Enter a number: 47
Elements of array after sorting
32
33
46
47
68
Which smallest element do you want to determine? 3
Desired smallest element is 46