1:目标值与中间元素相等,查找结束;
2:目标值比中间元素大,则把后半部分的中间元素与目标值比较;
3:目标值比中间元素小,则把前半部分的中间元素与目标值比较;
这三步一直循环,直到查找结束。
#include <stdio.h>
int main()
{
int str[11]={1,2,3,4,5,6,7,8,9,10};
int first=1,last=10,mid;
int target; //输入要查找的数
scanf("%d",&target);
while(first<=last)
{
mid=(first+last)/2;
if(str[mid]>target)
last=mid-1;
else if(str[mid]<target)
first=mid+1;
else{
printf("%d\n",target); //若找到则输出要查找的数
break;
}
}
return 0;
}