給定一個 1x7 的陣列 B, B = {1, 3, 5, 7, 9, 11, 13}。函式Search(x) 真正目的是找到 A 之中小於 x 的最大值。然而,這個函式有誤。請問下列哪些函式呼叫可測出函式有誤?
(A) Search(-1)
(B) Search(0)
(C) Search(10)
(D) Search(16)- int A[7]={1, 3, 5, 7, 9, 11, 13};
- int Search (int x){
- int high = 6;
- int low = 0;
- while (high > low)
- {
- int mid = (int) ceil((float)(high + low)/2);
- if (A[mid] >= x)
- {
- high = mid - 1;
- }
- else
- {
- low = mid;
- }
- }
- return A[low];
- }
複製代碼本帖隱藏的內容需要回復才可以瀏覽 |