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; }