題目
- 整數序列中的眾數和中位數 **
元培-from whf
描述輸入無符號整數序列(不多於500個整數,每個整數不大於150),計算序列的眾數和中位數。
眾數是指出現次數最多的那個數;如果有多個數出現的次數都達到最多,則取最先出現的數為眾數;如果所有的數都相等,則眾數由大寫 no 表示。
中位數是指按大小排序後正好居中的那個數(如果序列有奇數個整數,大小位於序列中最中間的數為中位數,如果序列中有偶數個整數,則取中間兩個數的平均值,以除式表示平均值)
例如,有如下6個數:
6,2,4,2,3,3
2和3出現的次數最多,均為2次,但序列中2先出現,因此,眾數選擇2;在中間位置的兩個數均為3,因此,中位數是(3+3)/2;
如果序列是
1,2,4,2,5,3,6
則眾數是2,中位數是3。
如果是序列
2,2,2,2,2,2,2
則眾數為 no,中位數為2
關於輸入
第1行表示後面的整數序列個數; 之後若干行,每行對應乙個無符號整數序列,整數之間由逗號間隔。
關於輸出
輸出每行對應的眾數和中位數(眾數在前),其間逗號間隔。如果沒有眾數,則以no表示。
如果中位數是兩個數的平均數,則輸出形式為:(x1+x2)/2,其中,x1 <= x2
例子輸入
36,2,4,2,3,3
1,2,4,2,5,3,6
2,2,2,2,2,2,2
例子輸出
mode=2,median=(3+3)/2mode=2,median=3
mode=no,median=2
提示每個序列中整數的個數請自己想辦法計算。
#include#include
intint_compare
(const
void*pa
,const
void*pb
)int
main();
/* 不同的整數出現的次數 */
intk=0
,x=0
;/* 眾數出現的次數及其下標 */
intj
;/* 輸入 */
scanf
("%d",&
a[0]);
while
(scanf
(",%d",&
a[++n
]))continue
;/* 眾數 */
for(j=
0;j++j
)for(j
=0;j
++j)}
if(k==
n)else
/* 中位數 */
qsort(a
,n,sizeof
(int
),int_compare
);if(n
%2==0
)else
}return0;
}
眾數和中位數的應用題 什麼是眾數和中位數
什麼是眾數和中位數2019 09 25 15 30 00文 顏雨 眾數是在一組資料中,出現次數最多的資料,是一組資料中的原資料。中位數是按順序排列的一組資料中居於中間位置的數,代表乙個樣本 種群或概率分布中的乙個數值,其可將數值集合劃分為相等的上下兩部分。眾數眾數是指在統計分布上具有明顯集中趨勢點的...
找出序列中的中位數
乙個隨機序列,找出序列的中位數,當序列個數為奇數時,為中間位置上的數字 當序列為偶數時,為中間兩個數字的平均值。這種題有很多種做法,比較有代表性的由 1 partition法 利用快排關鍵字的查詢方法 a.隨機選取乙個關鍵字key,將序列二分 b.若關鍵字的下標大於n 2,則繼續對序列的左半部分執行...
R語言平均值,中位數和眾數
平均值是通過取數值的總和並除以資料序列中的值的數量來計算。函式mean 用於在r中計算平均值。語法 r中計算平均值的基本語法是 mean x,trim 0,na.rm false,以下是使用的引數的描述 示例 create a vector.x c 17,8,6,4.12,11,8,54,11,18...