题解 | #中位数#
中位数
https://www.nowcoder.com/practice/2364ff2463984f09904170cf6f67f69a
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
int compare(const void* a,const void* b)
{
int num1=*((int*)a);
int num2=*((int*)b);
return num1-num2;
}
int main()
{
int data[MAX];
int n;
while(scanf("%d",&n)!=EOF&&n>0)
{
int num=0;
for(int i=0;i<n;i++)
{
scanf("%d",&data[i]);
}
qsort(data,n,sizeof(int),compare);
if(n%2==1)
{
num=data[(n-1)/2];
}
else
{
num=(data[(n-1)/2]+data[(n+1)/2])/2;
}
printf("%d ",num);
}
return 0;
}
