编写C语言程序,根据输入的一组数,找出它们的中位数。计算一组数的中位数,奇数个数时,中位数就是排名中间的那个数;偶数个数时,中位数等于排名中间两个数的均值。
时间: 2024-05-10 11:20:58 浏览: 44
查找中位数
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a, const void* b) {
return *(int*)a - *(int*)b;
}
int main() {
int n;
scanf("%d", &n);
int* arr = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), cmp); // 快速排序
if (n % 2 == 1) {
printf("%.2f", (double)arr[n / 2]);
} else {
printf("%.2f", (double)(arr[n / 2 - 1] + arr[n / 2]) / 2);
}
free(arr);
return 0;
}
```
阅读全文