This program is supposed to impelement quicksort but it is not working

Code:include<stdio.h> #include<conio.h> #include<process.h> void quicksort(int a[] ,int low,int high); int partition(int a[] , int low,int high); //quick sort void main() { int a[10], n ,i; clrscr(); printf("enter the total no. of elements \n"); scanf("%d",&n); printf("enter the elements of the array \n"); for(i=0;i<n;i++){ scanf("%d",&a[i]);} quicksort(a,0,n-1); printf("sorted array is \n"); for(i=0;i<n;i++) printf("%d",a[i]); getch(); } void quicksort(int a[] ,int low,int high) { int mid ; if (low<high) { mid=partition(a,low,high); quicksort(a,low,mid-1);// partioned elemnt in its final position at mid quicksort(a,mid+1,high); } } partition(int a[], int low,int high) { int temp,i,pivot,j; i=low; j=high; pivot=a[i]; while (i<=j) { while(a[i]<=pivot && i<=high){i=i+1;} while(a[j]>pivot){j=j-1;} if(i<j){ temp=a[i]; a[j]=a[i]; a[j]=temp; } temp=pivot; pivot=a[j]; a[j]=temp; } return j; }