为了账号安全,请及时绑定邮箱和手机立即绑定

为什么有些数没法查找?

为什么有些数没法查找?

C
毁人不倦4153295 2016-11-06 16:27:13
#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;
 }

//img1.sycdn.imooc.com//581eec470001a3fb04130098.jpg

查看完整回答
反对 回复 2016-11-06
  • 1 回答
  • 0 关注
  • 1023 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信