Ts_半分查詢猜數字遊戲(初始版),
阿新 • • 發佈:2018-11-17
第一次使用半分查詢,勉強可以看
封裝函式體
int look(int arr[],int num,int r) { int left = 0; int right = 0; right = r; while (left <= right) //開始執行半分查詢 { int midle = left + (right - left) / 2; if (arr[midle] == num) { return midle; } else if (arr[midle] > num) { right = midle - 1; } else if (arr[midle] < num) { left = midle + 1; } if (left>right) { return -1; } } }
主函式,呼叫封裝好的函式
int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15 }; int r = sizeof (arr) / sizeof (arr[0]) - 1; //求陣列的長度 int num = 0; int i = 0; printf("請輸入要查詢的數字:"); //寫入要查詢的數字 scanf("%d",&num); i = look(arr,num,r); if (i == -1) //輸出結果 { printf("沒找到\n"); } else { printf("%d\n", i); } return 0; }