c语言中输入一个数,在一维数组中查找,并输出它的地址,求大神,用二分法

2024-12-19 10:12:11
推荐回答(2个)
回答1:

int dicho_search(int *a,int key,int l,int r)
{
    int m=(l+r)/2;
    if(a[m]==key) return m;
    else if(l>=r) return -1;
    else if(a[m]>key) dicho_search(a,key,l,m-1);
    else dicho_search(a,key,m+1,r);
}

回答2:

#include

void main() { int a[N]={ 1,2,3,4,5,6,7,8,9,10 },p,q,x,y,k,b;
scanf("%d",&x); p=0; q=N-1; b=0;
while ( pif ( b ) printf("a[%d]=%d\n",k,x)
}