10. 用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1。(先?

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:12:18
急!!!!

#include <stdio.h>
#define MAX_SIZE 100
#define COMPARE(a,b) (a)>(b)?1:(a)==(b)?0:-1
typedef struct{
int key;
}element;
element list[MAX_SIZE];

int binsearch(element list[],int searchnum,int num);

int main()
{
int i,num,searchnum;
printf("\nhow many numbers do you want to enter?\n");
scanf("%d",&num);
printf("please enter numbers in increasing order.\n");
for(i=0;i<num;i++)
{
scanf("%d",&list[i].key);
}
while(1)
{
printf("what number do you want to search?");
scanf("%d",&searchnum);
printf("%d\n",binsearch(list,searchnum,num));
}
return 0;
}

int binsearch(element list[],int searchnum,int num)
{
int left=0,right=num-1,middle;
while(left<=right)
{
middle=(left+right)/2;
switch(CO