黑马程序员技术交流社区

标题: 小小C程序 [打印本页]

作者: sunshine429    时间: 2016-1-4 00:00
标题: 小小C程序
  1. #define M 10
  2. #include<stdio.h>

  3. void main()
  4. {
  5.       static int a[M]={-12,0,6,16,23,56,80,100,110,115};
  6.       int n, low, mid, high, found;
  7.       low=0;   
  8.       high=M-1;   
  9.       found=0;
  10.       printf("Input a number to be searched:");
  11.       scanf("%d", &n);
  12.       
  13.       while(low <= high)
  14.       {
  15.             mid = (low + high) / 2;            

  16.             if (n == a[mid])
  17.             {
  18.                   found = 1;     
  19.                   break;
  20.             }/*找到,结束循环*/

  21.             else if (n > a[mid])
  22.             {
  23.                   low=mid+1;
  24.             }
  25.             else
  26.             {
  27.                   high=mid-1;
  28.             }
  29.       }
  30.       
  31.       if (found==1)
  32.       {
  33.             printf("The index of %d is %d\n", n, mid);
  34.       }
  35.       else
  36.       {
  37.             printf("There is not  %d\n", n);
  38.       }
  39. }
复制代码

作者: 明阳天夏    时间: 2016-1-4 12:44
貌似很高级的样子
作者: kegao    时间: 2016-1-4 13:46
加油加油
作者: Chen_Mx    时间: 2016-1-4 20:54
到数组了,加油加油。
作者: yangqi    时间: 2016-1-6 21:41
能看懂一些
作者: 1178988315    时间: 2016-1-6 22:18
折半查找,不错的!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2