Description
输入n及n个整数,数的范围(-500000,500000),输出中位数。
Input
输入n及n个整数,数的范围(-500000,500000)
Output
输出中位数。
Sample Input
3
3 2 1
4
1 2 3 4
Sample Output
2
2
#include<stdio.h>
int main()
{
int n,temp,m;
while(~scanf("%d",&n))
{
int arr[100000];
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
m = n;
for(int i=0;i<n;i++)
{
int exchange = 0;
for (int j = 0; j < m-1; j++)
{
if (arr[j]>arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
exchange = 1;
}
}
m--;
if (!exchange) break;
}
if(n%2==0)
{
printf("%d\n",arr[n/2-1]);
}
else
{
printf("%d\n",arr[(n+1)/2-1]);
}
}
return 0;
}