#include "stdio.h"
int find(int *p,int x,int n){
int l,m,h;
l=0,h=n-1;
while(m=(l+h)>>1,lp[m] return p[m]==x ? m : -1;
}
int main(int argc,char *argv[]){
int a[10]={1,2,3,4,5,6,7,8,9,10},x,y;
printf("Input x(int)...\nx=");
scanf("%d",&x);
if((y=find(a,x,10))>=0)
printf("%d is at the [%d].\n",a[y],y);
else
printf("No find...\n");
return 0;
}
运行样例:
这么多才给30分,所以《C语言程序设计》谭浩强