题解 | 中位数 通过模2运算取下标不需要判断奇偶性
中位数
https://www.nowcoder.com/practice/2364ff2463984f09904170cf6f67f69a
#include <stdio.h> #include <stdlib.h> int cmp(const void *a,const void *b){ return *(int *)a-*(int *)b; } int main() { int arr[10000]; while (1==1) { // 注意 while 处理多个 case int n = 0; scanf("%d",&n); if(n==0){break;} else{ for(int i = 0;i < n;i++){ scanf("%d",&arr[i]); } } qsort(arr, n, sizeof(int),cmp); printf("%d\n",(arr[n/2]+arr[(n-1)/2])/2); //n=4时下标为0-3,计算(arr[2]+arr[1])/2 //n=5时下标为0-4,计算(arr[2]+arr[2])/2 } return 0; }