数学问题——中位数

2019-03-08  本文已影响0人  欢城深喟

知识点

如果没有特殊的格式要求,直接 cout 即可

代码

#include<iostream>
#include<string.h>
using namespace std;

int main(){
    
    int arr[105];
    int T, N;
    cin>>T;
    
    while(T--){
        
        cin>>N;
        memset(arr, 0, sizeof(arr));
        
        for(int i=0;i<N;i++){
            
            cin>>arr[i];
        }
        
        int length = N;
        
        if(length%2 == 0){ //中位数为两个数的平均数 
            
            int sum = arr[length/2] + arr[(length-1)/2];
            double ans = (double)sum / 2;
            cout<<ans<<endl;
        }
        else{ //中位数为中间一个数
            
            int ans = arr[(length-1)/2]; 
            cout<<ans<<endl;
        }
    }
} 
上一篇 下一篇

猜你喜欢

热点阅读