1樓:兔丞飛
private sub command1_click()dim a(1 to 10) as integerfor i = 1 to 10
a(i) = int(rnd * 10)
print a(i);
next i
'以上十隨機得出10個數
for i = 1 to 9 '這裡開始是雙重迴圈for j = i + 1 to 10
if a(i) > a(j) then '如果前一個數大於後一個數則交換位置
t = a(i): a(i) = a(j): a(j) = tend if
next j
print a(i);
next i
print a(i);
end sub
i等於1時 就是拿第一位和第二位比較 比較大的的數排後面 然後比較第一位和第三位 for j = i + 1
to 10 直到比較到最後一位
i=2 時也是如此 迴圈9次就完成排序
5 3 2 7
i=1 時
j=2時 3 5 2 7
j=3時 2 5 3 7
j=4時 2 5 3 7
擴充套件資料private sub command1_click()dim a(10) as integer
dim b as integer
dim i as integer
dim j as integer
dim k as integer
for i = 1 to 10
a(i) = int(rnd * 90 + 10)print a(i);
next i
printfor i = 1 to 9
k = i
for j = k + 1 to 10
if a(j) < a(k) then k = jnext j
if a(i) > a(k) then
b = a(i)
a(i) = a(k)
a(k) = bend if
next ifor i = 1 to 10print a(i);next i
2樓:匿名使用者
假如對 5 3 2 7這四個數進行降序排列,總共需要3輪比較 即外迴圈的迴圈次數
第1輪比較:5與3比 不交換 ;5與2比 不交換; 5與7比 交換;陣列變成 7 3 2 5
第2輪比較:3與2比 不交換; 3與5比 交換; 陣列變成 7 5 3 2
第3輪比較:3與2比 不交換; 陣列變成 7 5 3 2
3樓:
這叫冒泡演算法
你自己按f8除錯,用滑鼠定位變數,檢視每個變數的變化,比別人說更容易理解...
(選擇法對數排序)真的不知道錯哪裡了,請各位幫我看一下,是不是我的VC 編譯器有問題呀
for i 0 i 9 i scanf d a i 改為for i 0 i 9 i scanf d a i 去掉 d後面的空格即可,在輸入資料時分隔符不變,仍然是空格或者回車 void main for i 0 i 9 i printf d a i 因為迴圈是從0開始到9的,但當到9時迴圈滿足條件繼...
關於VB的氣泡排序法,急,關於C語言氣泡排序法的問題
1 這個首先是 下標越界 吧,可以dim a 5 as integer 需要注意的是 你只用了5個元素,你沒用option base 1,所以下標從0開始的。2 其次是 型別不匹配 陣列的輸出要採用如下形式 for i 1 to ubound a print a i next i 你的a陣列沒有定義...
為什麼選擇法律專業,我們為什麼選擇法學
參考 人脈變幻無常,財富浮沉易變,知識終會老化,惟有技能可以歷久常新。讓法律思維與寫作技能紮根於你的思維深處,貫徹於你日常的一言一行當中。高雲法律是一門高尚而神聖的學科,美國當代著名法學家博登海默說過,法律是人類最偉大的發明,因為別的發明使人類學會了駕馭自然,而惟有法律讓人類學會了如何駕馭自己。早在...