#include<stdio.h>
void bi_search(int *src,int size,int key)//size为实际数组大小,key为要找的值
{
int left=0,right=size-1,mid;
if(size<=0)
return;
while(left<=right)
{
mid=(left+right)/2;
if(src[mid]==key)
{
printf("%d",mid);
return;
}
else if(src[mid]<key)
{
left=mid+1;
}
else
{
right=mid-1;
}
}
}
int main()
{
int src[1000]={0},key[1000];
int n,m,i;
sanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&src[i]);
}
for(i=0;i<m;i++)
{
scanf("%d",&key[i]);
}
for(i=0;i<m;i++)
{
bi_search(src,n,key[i]);
}
return 0;
}
追问高手,这是第几道题??
追答这个是二分,你不要这个?
追问有一个错误。。。
追答错误发出来
追问
我提交到学校的acm网站,不知道为什么不通过。
追答首先将sanf 改为scanf,你自己应该在你的编程工具里先运行啊