注册 登录
编程论坛 数据结构与算法

请高手看看这个折半查找是否正确,请解释下,顺便来组测试数据!!

nxa520 发布于 2013-03-10 11:17, 566 次点击
#include<stdio.h>
 main()
 { int a[10]={1,2,3,4,5,6,7,8,9,10};
   int low=1,high=10;
   int mid,i;
   int find=0;
    printf("输入一位正整:\n");
   for(i=0;i<10;i++)
    scanf("%5d",&a[i]);
    printf("输入要查找的数:\n");
    while(high>=low&&find==0)
    { mid=(high+low)/2;
      if(10==a[mid])
     { find=1;break;
                   }
      else if(10<a[mid])
           high=mid-1;
      else
          low=mid+1;
           }
      if(find==0)
        printf("not found:\n");
      else
        printf("pos is:%d\n");
        system("pause") ;
        }        
        
1 回复
#2
不玩虚的2013-03-16 22:46
是否正确?不会吧你没有上机测试下,去测试区吧。debug比任何人给你讲还管用
1