void main()
{int high = 9,low = 0,m,k,a[10]={1,2,3,4,5,6,7,8,9,10}//hing和low赋初值
scanf("%d",&k)
while (high>=low)//>=
{
m=(high+low)/2
if(k<a[m]) high=m-1//比较的是数值而不是下标
else if(k>a[m]) low=m+1
else
{
printf("yes")
return//这两句地方放错了
}
}
printf("no")
return//if语句去掉
}
//dataList为数组,length为数组长度,k为待查数据int BinSearch(int dataList[], int length, const int k)
{
int low = 1, high = length, mid//low,high分别记录数组首尾位置
while(low <= high)
{
mid = (low + high) / 2
if(k <dataList[mid])
hight = mid - 1//向左区间检索
else if(k >dataList[mid])
low = mid + 1//向右区间检索
else
return mid//检索成功,返回元素位置
}
return 0//检索失败,返回0
}