POJ2623 Sequence Median【中位数+排序】

问题链接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;
}



posted on 2017-05-24 19:16  海岛Blog  阅读(101)  评论(0编辑  收藏  举报

导航