c语言二维数组找中位数
时间: 2023-10-26 07:13:52 浏览: 102
c语言中位数
5星 · 资源好评率100%
以下是一个例子:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 3
#define COLS 3
int compare(const void *a, const void *b)
{
return (*(int *)a - *(int *)b);
}
int main()
{
int arr[ROWS][COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int size = ROWS * COLS;
int *tmp = malloc(sizeof(int) * size);
int cnt = 0;
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
tmp[cnt++] = arr[i][j];
}
}
qsort(tmp, size, sizeof(int), compare);
int median = tmp[size / 2];
printf("The median is %d\n", median);
free(tmp);
return 0;
}
```
输出:
```
The median is 5
```
该程序将二维数组转换为一个一维数组,然后使用快速排序算法将其排序。最后,中位数是排序后数组的中间元素。
阅读全文