怎样输出一组数据的中位数

怎样输出一组数据的中位数。一组数种有多个数据。输出这组数中的中位数

输入格式
第一行:n —— 数列数字的个数(1 <=n<=1000)。
第二行:有n个正整数,每两个数中间用空格隔开(每一个正整数都小于10000)。

#include <stdio.h>  
#include <stdlib.h>  
 //递增 的快排算法
int compInc(const void *a, const void *b)  
{  
    return *(int *)a - *(int *)b;  
}  
  
int main()  
{  
    float k;        //注意输出格式            
    int i,j,n,t;
    int a[1001];
    int len ; 
      
       while(scanf("%d ",&len)!=EOF){   //要注意输入的终止条件
    for(i=0;i<len;i++)   //输入
         scanf("%d",&a[i]);
   // printf("递增排序结果:\n");  
    qsort(a, len, sizeof(a[0]), compInc);  
     if(len%2==0) {          //奇偶取中位数的方法不一样
            k=(a[(len/2)-1]+a[(len/2)]);
         printf("%.2f\n",k/2.00);
         }
        else {
            k=a[len/2];
            printf("%.2f\n",k);//注意输出格式   
        } 
    //    break;
        
}
    return 0;  
}