思路:题目的意思就是求中位数。
编程语言:C语言
代码如下:
#include<stdio.h>
void qsort(int *a, int l, int r)
{
int x = a[l];
int i = l, j = r;
if (l >= r) return;
while (i<j)
{
while (i<j&&a[j] >= x) j--;
a[i] = a[j];
while (i<j&&a[i] <= x) i++;
a[j] = a[i];
}
a[i] = x;
qsort(a, l, i - 1);
qsort(a, i + 1, r);
}
int main()
{
int i, n, a[10001];
while (scanf("%d", &n) != EOF)
{
for (i = 0; i<n; i++)
scanf("%d", &a[i]);
qsort(a, 0, n - 1);
printf("%d\n", a[n / 2]);
}
return 0;
}