二分查找法,加递归,之前做了一个没加递归,结果就废了

#include<stdio.h>
int b[11]={0,1,2,3,4,5,6,12,13,18,19},n;
int zhd(int x,int y)
{
 int z;
    if(x<=y)
    {
     z=(x+y)/2;
     if(b[z]==n)
        return z;
     if(b[z]<n)
     return zhd(z+1,y);
  else
     return zhd(x,z-1);     
 }
}
int main()
{
 int d=0,x=1,y=10;
 scanf("%d",&n);
 d=zhd(x,y);
 if(d==0)
  printf("NO");
 else
     printf("%d",d);
 return 0;
}

原文地址:https://www.cnblogs.com/lldsidi/p/5651474.html