M Median
题目大意:给一个数组,求中间那个数的小。排序一下,如果有奇数个数字,去中间那个就可以了。如果是偶数,去中间两个取平均。
#include <iostream>
#include <algorithm>
#include <vector>
#include <stdio.h>
using namespace std;
vector<double> nums;
int main()
{
int t,n;
double num;
int i,j;
while(scanf("%d",&t)>0)
{
while( t--)
{
nums.clear();
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%lf",&num);
nums.push_back(num);
}
sort(nums.begin(),nums.end());
int size = nums.size();
if(size%2==0)
{
printf("%.3lf/n",(nums[size/2]+nums[size/2-1])/2);
}
else
{
printf("%.3lf/n",nums[size/2]);
}
}
}
return 0;
}