C Program to sort an array using Shell Sort

Program

#include<stdio.h>
void main()
{
	int a[10];
	int i, j, k, temp, n;
	printf("Enter the number of elements:\t");
	scanf("%d", &n);
	printf("Enter %d elements for Shell Sort:\n", n);
	for(i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
	}
	for(i = n / 2; i > 0; i = i / 2)
	{
		for(j = i; j < n; j++)
		{
			for(k = j - i; k >= 0; k = k - i)
			{
				if(a[k+i] >= a[k])
					break;
				else
				{
					temp = a[k];
					a[k] = a[k+i];
					a[k+i] = temp;
				}
			}
		}
	}
	printf("Sorted elements:\n");
	for(i = 0; i < n; i++)
		printf("%d\n", a[i]);
}

Output

Enter the number of elements:	6
Enter 6 elements for Shell Sort:
987
324
87
2
945
12
Sorted elements:
2
12
87
324
945
987