生成一个C语言 求10数的中位值
时间: 2024-03-02 11:53:39 浏览: 48
以下是一个 C 语言程序,可以计算 10 个数的中位数:
```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 = 10;
int arr[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
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);
return 0;
}
```
这个程序中先将 10 个数手动输入到了数组中,然后使用快速排序对这些数字进行排序,然后计算中位数并输出。因为数组长度是固定的,所以这里没有使用动态分配内存。