zoj 3499 Median 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3499
简单模拟
题目大意:求数列中位数。
题目分析:若有偶数个,找最中间两数的平均数。
以下是代码:
#include<algorithm>
#include<stdio.h>
using namespace std;
int main()
{
int t,n;
double a[550]={0};
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%lf",&a[i]);
}
sort(a+1,a+n+1);
if(n%2)printf("%.3f\n",a[n/2+1]);
else printf("%.3f\n",(a[n/2]+a[n/2+1])*0.5);
}
return 0;
}
PS:居然栽在要不要0的问题上费了不少时间,
!