C语言 找数字,用(折半查找法或二分查找法)

                               找数字,用(折半查找法或二分查找法)

注意:基于 有序数组

int main()
{
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int key = 1;
int left = 0;
int right = sizeof(arr)/sizeof(arr[0])-1;//下标
while (left <= right )
{
int mid =left - (left - right) >> 1;//若用int mid = (left+right)/2,容易溢出
if (arr[mid] > key)
right = mid - 1;
else if (arr[mid]right)//来到这有两种情况,1,break跳出循环,找到了2,没找到
{
printf("找不到\n");
}
return 0;
}

延伸: 可编写一个猜数字游戏

提示: rand()函数--------产生随机数,放在中。

            srand 函数--------放在中。



你可能感兴趣的:(编程各类题型)