亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請教關于冒泡排序的問題

以下是學習中遇到三個不明白的問題 , 想請教朋友來回答一下:

題目: 對 ?10 個分數排序.

  1. 第一個 for循環中為什么要用 ?if 判斷 (i !=9 ),不是直接打印就行嗎?

  2. 冒泡排序循環外層為什么用 for(i=8;;), 等于9不行么??

    還有就是所控制 ?" 每趟比較的最大下標" 是什么意思?
    (原理不是 讓 ?i = 9 然后不停對上一次排完序的數組從新排序嗎?)

?3. ? ?如 1, 為什么排序后還是要用 i !=9 ? ?

? ? 糾結 ... ?希望有經驗的朋友能夠幫忙解惑一下 !

正在回答

1 回答

  1. i != 9 的時候,printf打印出的是“數字和一個空格”,當 i == 9 ,也就是最后一個數時,就不打印后面的空格了。這純粹是為了打印出來好看。

  2. 看內層循環,第一次內層循環讓第1個數依次和后面的數相比較,直至比到第10個數,一共比9次。第二次內層循環還是從第1個數開始依次向后比較,這次就不用比最后一個數了,因為經過上次比較后,最后一個數肯定是最大的了,所以這次一共比較8次。第三次內循環一共比較7次......最后一個內循環就只要比較前兩個數就可以了。 這樣內層循環一共執行了9次,外循環就是用來控制這9次比較的,i從8遞減到0就是9次。

  3. 和第一問一樣。

5 回復 有任何疑惑可以回復我~
#1

羽丶 提問者

原來是這樣, 我明白了 ,謝啦!
2015-10-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

請教關于冒泡排序的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號