生成一个C语言 求中位值
时间: 2024-03-02 10:53:37 浏览: 27
以下是一个C语言程序,可以计算一组数的中位数:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于qsort排序时的比较
int cmp(const void *a, const void *b) {
return (*(int *)a - *(int *)b);
}
int main() {
int n;
printf("请输入数字的个数:");
scanf("%d", &n);
int *arr = (int *)malloc(n * sizeof(int)); // 动态分配内存
printf("请输入这%d个数字:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), cmp); // 使用快速排序进行排序
double median;
if (n % 2 == 0) { // 数组长度为偶数
median = (arr[n / 2 - 1] + arr[n / 2]) / 2.0;
} else { // 数组长度为奇数
median = arr[n / 2];
}
printf("中位数为:%lf\n", median);
free(arr); // 释放内存
return 0;
}
```
这个程序首先会让用户输入数字的个数,然后再让用户输入这些数字。程序会使用快速排序对这些数字进行排序,然后计算中位数并输出。注意,程序中使用了动态分配内存,需要在程序结束前使用 `free` 函数释放内存。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)