N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。
折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(lowhigh,查找结束。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
/**********code.c**********/
#include
#define N 10
int fun(int a[],int m)
{
int low=0,high=N-1,mid;
while(low<=high)
{
/**********found**********/
mid= __1__;
if(m
/**********found**********/
high= __2__;
else
if(m>a[mid])
low=mid+1;
else
return(mid);
}
/**********found**********/
__3__(-1);
}
main()
{
int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m;
printf("a数组中的数据如下:");
for(i=0;i
printf("%d",a[i]);
printf("Enter m:");
scanf("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=%d\n",m,k);
else
printf("Not be found\n");
}
/**********-code.c**********/