获得一组数据的中位数 c代码
时间: 2024-04-13 22:29:39 浏览: 15
以下是一个计算一组数据中位数的 C 代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int *)a - *(int *)b);
}
float findMedian(int arr[], int n) {
qsort(arr, n, sizeof(int), compare);
if (n % 2 == 0) {
return (arr[n / 2 - 1] + arr[n / 2]) / 2.0;
} else {
return arr[n / 2];
}
}
int main() {
int n;
printf("请输入数据个数:");
scanf("%d", &n);
int arr[n];
printf("请输入数据:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
float median = findMedian(arr, n);
printf("中位数为:%f\n", median);
return 0;
}
```
这段代码首先定义了一个用于比较的函数 `compare`,然后使用 `qsort` 函数对输入的数据进行排序。接下来,根据数据个数的奇偶性,计算出中位数并返回。在主函数中,首先获取输入的数据个数,然后依次输入数据。最后,调用 `findMedian` 函数计算出中位数,并打印结果。
请注意,这段代码假设输入的数据都是整数。如果输入非整数类型的数据,需要根据实际情况进行相应的修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)