怎样输出一组数据的中位数。一组数种有多个数据。输出这组数中的中位数
输入格式
第一行: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;
}