二分查找的c代码实现
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM 10 //学生人数
int main()
{
int value[NUM] = {12,23,30,45,48,50,67,82,91,103};
int low,high,mid,key;
printf("\nEnter a key:");
scanf("%d",&key);
low = 0,high = NUM -1;
while(low <= high){
mid = (high+low)/2;
if(value[mid]==key)
break;
else if(value[mid]>key)
{
high = mid -1;
}
else if(value[mid]<key)
{
low = mid +1;
}
}
if(low <= high)
{
printf("\n%d is found at %d.",key,mid); //确认break出口
}
else
{
printf("\n%d is not found.",key);//确认正常出口
}
}