c語言 如何編個程式求一組數的中位數和眾數

時間 2021-05-05 10:42:35

1樓:子爵先生

陣列排序可以不用指標。你把陣列定義成全域性變數,比如說a[10001];然後呼叫我給你的快排程式就行了,這個程式可以背下來,很有用的。

void qs(int l,int r)

}if(ihash[max]) max=a[i];

}最後輸出max就好了

剛t415422663倒是提醒我了,如果要判斷眾數有多個,我可以把上面的程式稍改一下

int hash[10001]=;

int i,max=-1;/*注意,這裡把max賦值為-1是為了防止陣列a的元素個數為0時所有資料都被輸出*/

for(i=1; i<=n; ++i)

//10000是陣列a中可能出現的最大值,這個你可以自己改的

for(i=1; i<=10000; ++i)

if(hash[i]==max) printf("%d\n",i);

2樓:匿名使用者

單數的資料先按一定的順 排列,最中間的乙個數就是中位數。雙數的資料先按一定的順 排列,最中間的兩個數的平均數就是中位數。眾數就是乙個陣列中出現最多的數,可以沒有,也可以有多個。

3樓:匿名使用者

就服這些理論講得頭頭是道的卻實現不了的人

4樓:匿名使用者

先將陣列排序,然後第(n+1)/2個就是中位數。

眾數就是乙個陣列中出現最多的數,可以沒有,也可以有多個,這個要想想

5樓:匿名使用者

樓上的正確,眾數不好弄,如果只有乙個還好,多個的話,還得想想才能寫程式,中位數,你先按照從大到小或者從小到大排序就可以了,(n+1)/2那個數就是了 .

排序,一般書上都有氣泡排序之類的演算法,你去查一下吧,這些都是基礎啊

6樓:貓咪愛塔防

中位數就是(n+1)/2;眾數就是陣列中最多的那個數有很多方法可以求眾數

(1):先排序,然後不停移動陣列比較看值相同的元素那個多(2):可以做個指標,不停移動,設立變數 a b c d等遇到值相同的變數就增1;例如:值是2的,b++,值是4的 d++

求n個整數的平均數,眾數和中位數。我的程式**錯了?我是用的c語言。

7樓:倒霉熊

double型別的輸出使用 %lf

l為字母l的小寫。

如果用%f輸出double,往往輸出0.

一組資料4,5,6,7,7,8的中位數和眾數分別是(  ) a.7,7 b.7,6.5 c.5.5,7 d.6.5,7

8樓:手機使用者

在這一組資料中7是出現次數最多的,故眾數是7,而將這組資料從小到大的順序排列後,處於中間位置的數是6,7,那麼由中位數的定義可知,這組資料的中位數是(6+7)÷2=6.5.故選d.

求高手幫忙寫幾個C 程式,求高手幫忙編個程式 C 的。。。。謝謝了

同時s b c人,給你答案了 2 include using namespace std int getmode int array,int size p int mode 1 int count 1 int p array int q array size while p count p retu...

重金 求c語言程式

include unsigned char code table unsigned char i void delay void void main void else 額,找了下我同學,專門做這個的。他告訴我大致可以這樣子寫,算是啟發吧,前面那部分是點陣,控制高低電平還是什麼的,我學過的c都忘記的...

求c語言選單函式的程式,求乙個C語言選單函式的程式?

1 對於視窗元件選單,需要根據不同平台,通過圖形程式設計介面,進行選單的編制。例程 include include include void main if str 80 if str 13 break 按回車鍵確認 畫圖做選單 cleardevice switch choice if i 100 ...