第2个回答 2009-11-04
从小到大排列
int find(int soure[], int low, int high, int tar)
{
int mid = (low+high)/2;
if(soure[mid] == tar)
return mid;
else if(low>=high)
return -1 //not find tar
else if(soure[mid]>tar)
return find(soure,mid+1,high,tar);
else
return find(soure,low,mid-1,tar);
}
main()
{
int a={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int tar = 5,i;
i = find(a,0,14,tar);
if(i==-1)
printf("无此数");
else
printf("%d",find(a,0,14,tar));
}