#include<stdio.h> #include<stdlib.h> void find(int arr1[], int key, int right) { int left = 0, mid; while (left <= right) { mid = (left + right) / 2; if (key == arr1[mid]) { printf("\n找到了,您要找的数是%d,位置为%d\n", key, mid+1); break; } else if (key > arr1[mid]) left = mid + 1; else right = mid - 1; } if (left = right) printf("\n您要找的数不存在,请重试!"); } int main() { int arr[] = {1, 3 ,4 ,5 ,6, 7, 9 ,13, 15 ,36 }; int k,len; len = sizeof(arr); printf("请输入你要查找的数:"); scanf("%d", &k); find(arr,k,len); system("pause"); return 0; }
本文出自 “分享中进步” 博客,请务必保留此出处http://xmwen1.blog.51cto.com/10730069/1705052
原文地址:http://xmwen1.blog.51cto.com/10730069/1705052