题解 | #中位数#
中位数
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; }