中位數(C語言)

2021-08-02 18:54:07 字數 1018 閱讀 6934

description計算

有限個數的

資料的中位數的方法是:把所有的同類

資料按照大小的順序

排列。如果資料的個數是

奇數,則中間那個

資料就是這群

資料的中位數;如果

資料的個數是

偶數,則中間那2個資料的

算術平均值

就是這群

資料的中位數。現在給出n個正整數,求他們的中位數。

input

第一行:n —— 數列數字的個數(1 <=n<=1000)。

第二行:有n個正整數,每兩個數中間用空格隔開(每乙個正整數都小於10000)。

output

求這n個正整數的中位數(保留小數點後兩位有效數字)。

sample input4

1 2 3 4 3

1 2 3

sample output

2.50

2.00

ac**:

#include #include //遞增 的快排演算法

int compinc(const void *a, const void *b)

int main()

{ float k; //注意輸出格式

int i,j,n,t;

int a[1001];

int len ;

while(scanf("%d ",&len)!=eof){ //要注意輸入的終止條件

for(i=0;i首先是排序,按照遞增或遞減都可以。

把排好序的數存放在乙個陣列中方便後面呼叫。

看存放在陣列中的數的長度。取中間值(奇數直接取中間值,偶數用中間的兩個數的平均值)

注意:陣列是從 a[0] 還是從 a[1] 存放的。

中位數的中位數

參照王曉東的演算法設計 中位數的中位數,即將一串數分成n段,求其排好序了的中間那個數,再把這些所有中位數再求一次中位數。for int i 0 i r p 4 5 i 找中位數的中位數,r p 4即上面所說的n 5 int x lineselect a,p,p r p 4 5,r p 4 10 線性...

BFPRT(中位數的中位數)演算法

又稱為 中位數的中位數演算法 該演算法由 blum floyd pratt rivest tarjan 在1973年提出,最壞時間複雜度為o n 最差的空間複雜度為o logn 演算法步驟 1 將 n 個元素劃分為 n 5 個組,每組 5 個元素,若有剩餘,捨去 2 使用排序方法找到 n 5 個組中...

hive 中位數 Hive的中位數

關於求解中位數,我們知道在python中直接有中位數處理函式 mean 比如在python中求解乙個中位數,很簡單。python計算中位數 import numpy as np nums 1.1,2.2,3.3,4.4,5.5,6.6 均值np.mean nums 中位數 np.median num...