1樓:此刻站在這裡
我震驚了。。。不懂的不要亂說。。暈。。這道題用的是選擇排序法。。不是冒泡法。。。超級汗!
我給你講下這兩個方法的差別:
選擇法:在比較的時候。。。建立一個額外的變數 p 來儲存這個數的位子,但是還沒有進行交換。。
只是記著當前最大數的位子而已。。。當第一次比較完。。也就選擇出最大的那個數後。。
這時才進行換位子。。因為變數p裡記錄了當前最大數的位子。。所以,就直接找到那個數和第一個數交換就是了。。
簡單來說。。選擇法就是 每一輪,比較了多次。。但是實質上的換位子,只有一次。。。
冒泡法:現在你應該能理解了吧。。雙重巢狀後。。是邊比較邊換位子。。只要符合條件就換位子了。。。,所以,冒泡法,每一輪,會比較多次,換位多次。。。
如果樓主不懂。。。可以舉10個數字。。自己推一下就明白了。。。
人格擔保。。絕對是 選擇法。。。不是選擇法。我送你200分
2樓:匿名使用者
我給你寫個排序 比這個簡潔而且易懂 也就是經典的 冒泡法#include
main()
for(i=0;i<5;i++)
printf("%4d",a[i]);}
3樓:匿名使用者
呵 我知道這個程式是仿照哪寫的 仿照老譚書上的指標陣列寫的 我讀給你聽
你可以把p看成是一個標誌(flag)
for(i=0;i<5;i++) /*5個數迴圈5次*/printf("%d ",a[i]); /*輸出排序後最後結果*/
}if(q
知道了麼 不懂在說 呵呵 這個 容易啊 就是個 強制型別轉換的意思。首先 long 型別 佔 四個位元組。char 型別 佔 一個位元組。明白了這個 就好解決了。char p abcdefgh r long q 這兩行 標明 p是指向字元的指標 並且 指向abcdefgh這個字串 實際是指向a r 為指向字元的指標。q... 號和四門功課的成績從鍵盤讀入。2 計算每個學生的總分和平均分。3 按平均成績進行排序,輸出 愛吃米糕 親,這個最基本的,你要自己練習才能慢慢寫出程式啊 小輝丿仔 這個你得自己做 給你提醒一下,可以陣列做 include include define null0 define len sizeof s... s 2 是一個指標陣列,指向兩個字串 s 0 s 1 while s 1 0 迴圈,條件為 s 1 0 字串的最後一個值是 0 這裡遍歷s 1 字串,一共會遍歷4次。 寒鐵礦 你定義了一個指標陣列,s 0 指向的是第一個 字串的起始地址,s 1 指向的是第二個 字串的起始地址。while s 1 0...請教一道C語言題目,求解一道C語言題目
c語言一道題目求教教,C語言一道題目,求教教
一道簡單的c語言題目,一道簡單的C語言題目