主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
int a[20],n=0,value;
int position;
scanf("%d",&n);
input(a,n);
scanf("%d",&value);
position =binsearch(a,n,value);
printf("%d",position);
return 0;
}
/* C++代码 */
int main()
{
int a[20],n=0,value;
int position;
cin>>n;
input(a,n);
cin>>value;
position =binsearch(a,n,value);
cout<
return 0;
}
#include
#include
using namespace std;
int i;
void input(int a[20],int n)
{
for(i=0;i
cin>>a[i];
}
int binsearch(int a[20],int n,int value)
{
int i,start,end;int q;
for(start=0,end=n-1;start<=end;)
{
i=start+(end-start)/2;
if(value>a[0])//输入的value不在数组中
q=0;
if (value==a[i])//value为数组中的a[i]
{
q=i+1;
break;
}
else
if (value>a[i]) //value在两段的前半部分
end=i-1;
else //value在两段的后半部分
start=i+1;
}
return q;
}
/*
int main()
{
int a[20],n=0,value;
int position;
cin>>n;
input(a,n);
cin>>value;
position =binsearch(a,n,value);
cout<
return 0;
}
*/