资源描述
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
int Search_Bin(int score[],int length,int key)
{
int low,high,mid;
low=1;
high=length;
while(low<=high)
{
mid=(low+high)/2;
if(score[mid]==key)
return mid;
else if(key<score[mid])
high=mid-1;
else if(key>score[mid])
low=mid+1;
}
return ERROR;
}
int main()
{
int score[11];
int length=10;
int key,index;
printf("创建查找表:\n");
for(int i=1;i<=length;i++)
{
scanf("%d",&score[i]);
}
printf("\n输入要查找的关键字\n");
scanf("%d",&key);
if(Search_Bin(score,length,key))
{
index=Search_Bin(score,length,key);
printf("\n要查找的 %d 在表中的位置是 %d \n",key,index);
}
else
printf("\n未查找到 %d\n",key);
return OK;
}
展开阅读全文