直接來習題吧
1、第一題可以看一下林銳的高質量c/c++程式設計
2、3、4、
5、第五題很明顯不應該每次都用
for (i = 0; i < n - 1; ++i)
assert(a[i] < a[i+1]);
如何利用二分的性質來進行處理還是乙個問題。
一種辦法是:
int bs(int *a, int b, int e, int v)
return -1;
}
但是這個方法需要多次使用才能檢測出來,也就是可能在查詢某兩個數的時候不會報錯,可能在查詢別的幾個數的時候就報錯了。很多時候,這不是一種好選擇。
根據第五題的題意,可以寫如下**來減少每次檢測的量。
int bs(int *a, int b, int e, int v)
while (begin < end)
return -1;
}
加乙個static變數來記錄這個陣列是否經過檢測,來決定以後的檢測還需要進行。
當然對於多個陣列的檢測,可以利用hash來處理,因為一般來說,陣列的下標位址都是不一樣的。
7、8、9、略
程式設計珠璣 第五章 程式設計小事
一,概述 主要講解如何保證程式設計的正確性。在程式中加入斷言 assert 斷言內容 如果錯誤,則終止程式。否則正常執行 typdef 宣告自定義型別 typedef int size 宣告int 型整數的別名 size array 4 typedef struct tagnode pnode 測試...
程式設計珠璣 第五章 程式設計小事
一,概述 主要講解如何保證程式設計的正確性。在程式中加入斷言 assert 斷言內容 如果錯誤,則終止程式。否則正常執行 typdef 宣告自定義型別 typedef int size 宣告int 型整數的別名 size array 4 測試結構題大小的程式 二,習題 5 測試 斷言優化過程 如何利...
C程式設計第五章
include 10.前20項和 int main printf 12.10f sum return 0 11.小球10次 int main printf 十次高度 10.6f t經過距離 10.6f n h,s return 0 12.猴子吃桃 誰家的猴子家裡能放下一千多個桃 int main p...