學習了冒泡法之後才逐漸發覺了c語言的難處,冒泡法在第一次接觸時,極容易在邏輯上犯錯,導致思維轉不過來。
首先,在定義時,為了優化**,採用了int len = sizeof(a)/sizeof(int)為下面**所用的數字。由於int型固定為4位元組,而主要根據陣列a裡的個數所確定len的數字。
下面是冒泡法的**:
#include
int main()
;int x,y,temp;
int len=sizeof(a) / sizeof(int);
for(x = 0;x < len -1;x++)
}for(y = 0;y < len ;y++)
printf("\n");
}return 0;
}其中,因為假如10個數字,則len為10,外迴圈為兩個數比大小,最多只有9次,所以為len-1,而剩下的數迴圈的次數則是減去之前的數迴圈次數來定的,所以為len-x-1。
冒泡法的核心,就是中間的if判斷語句,根據此語句,將大小不一的數字順序排放。
C語言學習筆記(二)
11 structure 結構體可以用或者來進行初始化 例如 但是 本身不是expression,不能對struct進行賦值!以下用法是錯誤的 c99增加了對一種語法如下,但是vc9中不支援這種語法,因此應該盡量避免採用。結構體的成員名和變數名不在同一命名空間中,因此兩者不會出現明明衝突。另外,結構...
C語言學習筆記(二)
c語言學習筆記 二 八進位制 把二進位制所有數字從右向左的每三個數字分成一組,每組用乙個數字替代,替換後的結果叫八進位制 0110 1010 01 101 010 1 5 2 八進位制 o 佔位符 0152 八進位制開頭數字必須用0開頭 十六進製制 把二進位制所有數字從右向左的每四個數字分成一組,沒...
C語言學習筆記(二)
1.題目 編寫程式,列印菱形星號組合 1 include 2 int main 3 2.a 10 逆序輸出陣列 1 include 2 int main 3 4 int n,i 5 for i 0 i 5 i 6 11 for i 0 i 9 i 12 15 return 0 16 173.氣泡排序...