#include <stdio.h>
#define N 8
int main()
{
int a[N]={6,9,15,25,26,48,53};
int low=0,high=N-1,mid,x;
printf("请输入要查的数据 :\n");
scanf("%d",&x);
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==x)
{
printf("找到,a[%d]=%d\n",mid,x);
break;
}
else
{
if(x>a[mid])
low=mid-1;
else
high=mid-1;
}
}
if(low>high)printf("未找到!\n");
return 0;
}输入15没法运行!!!求大神告知!
1 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
#include <stdio.h> #define N 8 int main() { int a[N]={6,9,15,25,26,48,53}; int low=0,high=N-1,mid,x; printf("请输入要查的数据 :\n"); scanf("%d",&x); while(low<=high) { mid=(low+high)/2; if(a[mid]==x) { printf("找到,a[%d]=%d\n",mid,x); break; } else { if(x>a[mid]) low=mid+1; else high=mid-1; } } if(low>high)printf("未找到!\n"); return 0; }
- 1 回答
- 0 关注
- 1023 浏览
添加回答
举报
0/150
提交
取消