int zhebanfachazhao( int sz[ ])
{
int low,mid,high,n=4,m;
low=sz[0];
high=sz[n-1];
printf("what number do you find\n");
scanf("%d",&m);
while (low<=high)
{
mid=(low+high)/2;
if (sz[mid]>m)
{
high=mid-1;
}
else if (sz[mid]<m)
{
low=mid+1;
}
else if (sz[mid]==m)
{
return mid;
}
}
return -1
}
...全文
3063打赏收藏
折半法查找为什么反回的总是-1,多谢
int zhebanfachazhao( int sz[ ]) { int low,mid,high,n=4,m; low=sz[0]; high=sz[n-1]; printf("what number do you find\n"); scanf("%d",&m); while (lowm) { high=mid-1; } else if (sz[mid]<m) { low=mid+1; } else if (s