#include int positionpivot(float a[], int n, int start, int end) { float pivot=a[start], tmp; int smallindex=start, i; for(i=start+1; i<=end; i++) { if(a[i]<=pivot) { smallindex++; tmp=a[i]; a[i]=a[smallindex]; a[smallindex]=tmp; } } a[start]=a[smallindex]; a[smallindex]=pivot; return smallindex; } void quicksort_rec(float a[], int n, int start, int end) { int pivotposition; if(start>=end) return; pivotposition= positionpivot(a, n, start, end); quicksort_rec(a, n, start, pivotposition-1); quicksort_rec(a, n, pivotposition+1, end); } void quicksort(float a[], int n) /* The driver function */ { quicksort_rec(a, n, 0, n-1); } void main() { float a[10]; int i; printf("\n Enter 10 numbers:\n"); for(i=0; i<10; i++) scanf("%f", &a[i]); quicksort(a, 10); printf("Here they are, sorted:\n"); for(i=0; i<10; i++) printf("%f\n", a[i]); }