Program to sort the given numbers using shell sort

Program:

#include<stdio.h>
#include<conio.h>
void main()
{
    int i, j, k, n, a[10], t;
    clrscr();
    printf("Enter the limit : ");
    scanf("%d", &n);
    printf("\nEnter the elements :\n\n");
    for(i = 0; i < n; i++)
    scanf("%d", &a[i]);
    for(i = (n + 1) / 2; i >= 1; i = i / 2)
    for(j = i; j < n; j++)
    {
        t = a[j];
        for(k = j - i; k >= 0 && t < a[k]; k = k - i)
        a[k + i] = a[k];
        a[k + i] = t;
    }
    printf("\nThe sorted elements are :\n\n");
    for(i = 0; i < n; i++)
    printf("%d\t", a[i]);
    getch();
}

Output:

Enter the limit : 5
Enter the elements :
20 40 30 50 10
The sorted elements are :
10 20 30 40 50