#include<stdio.h>

int main()

{

   int k=7;

   int arr[]={1,2,3,4,5,6,7,8,9,10};

   int sz=sizeof(arr)/sizeof(arr[0]);        //元素个数的计算公式

   int left=0;                                //左下标

   int right=sz-1;                            //右下标

   while(left<=right)                         //中间有元素

   {

       int mid=(left+right)/2;                //中间元素下标

       if(arr[mid]>k)

       {

           right=mid-1;                       //若中间元素>7,则右下标变化为mid-1

       }

       else if(arr[mid]<k)                   //如果所求数在中间元素左边

       {

           left=mid+1;                       //用中间元素加一,再一次使用二分法求值

       }

       else//mid=k

       {

           printf("找到了,下标是:%d\n",mid); //d与mid相等

           break;

       }

   }

       if(left>right)                         //如果左边大于右边,则无法找到

       {

           printf("找不到\n");

       }

       return 0;


}

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6