UVa10107 What is the Median?

题目:不断的输入整数,输出中值,如果中间有两个数,输出他们平均值的整数部分。

分析:简单题。因为数据不大,每次输入数据后,排序即可。

#include <stdio.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
    int n, count = 0;
    long data[10005];
    while ( ~scanf("%d", &n) ){
        data[count ++] = n;
        sort(data, data + count);
        if ( count & 1) // 等价于 count % 2 == 1;
        {
            printf("%ld", data[count / 2]);
        } else{
            printf("%ld", (data[count / 2] + data[count / 2 - 1]) /2 );
        }
        return 0; 
    }
}

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注