早教吧 育儿知识 作业答案 考试题库 百科 知识分享

程序改错------------------------------------------程序改错---------------------------------------------------------N个有序整数数列已放在一维数组a中,下列给定程序中,函数fun的功能是:利用折半查找

题目详情
【程序改错】 ------------------------------------------
【程序改错】
---------------------------------------------------------
N个有序整数数列已放在一维数组a中,下列给定程序中,
函数fun的功能是:利用折半查找算法找整数m在数组中的
位置.若找到,则返回其下标值;反之,则返回-1.
下面给定的程序存在错误,请改正.
---------------------------------------------------------
注意:不得增行或删行,也不得更改程序的结构.
--------------------------------------------------------*/
#include
#define N 10
int fun(int a[],int m)
{
//
left = mid -1;
else return (mid);
}
return(-1);
}
main()
{
int i,a[N]={-3,4,7,9,13,45,67,89,100,180},k,m;
printf("a数组中的数据如下:");
for(i=0;i=0)
printf("m=%d,index=%d\n",m,k);
else
printf("Not be found!\n");
return 0;
▼优质解答
答案和解析
有几个错误,相应错误应做如下更改:
int left = 0, right = N - 1, mid;
if (m>a[mid])
left = mid + 1;

else if (m