问题链接:POJ2623 Sequence Median。
问题简述:参见上述链接。
问题分析:这是一个计算中位数问题,排序计算即可。
程序说明:
计算平均值需要使用double类型,不然会出问题。
输出格式使用".1lf"会WA,奇了怪了!!!
题记:程序员到处都会遇到坑。AC的C++语言程序如下:
/* POJ2623 Sequence Median */
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
const int N = 250000;
int a[N];
int main()
{
int n;
while(scanf("%d", &n) != EOF) {
for(int i=0; i<n; i++)
scanf("%d", &a[i]);
sort(a, a + n);
double median;
if(n % 2 == 1)
median = a[n / 2];
else
median = a[n / 2 - 1] / 2.0 + a[n / 2] / 2.0;
printf("%.1f\n", median);
}
return 0;
}