牛骨文教育服务平台(让学习变的简单)
博文笔记
  • 当前位置:
  • 牛骨文教育服务平台
  • >
  • 博文笔记
  • >
  • N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出 “Not be found”

N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出 “Not be found”

创建时间:2017-01-19 投稿人: 浏览次数:1547
#include <stdio.h> #define N 10
/*
N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出 “Not be found”
*/
int main() {     int i;     int low = 0;     int high = N - 1;     int mid;     int k = -1;     int m;     int a[N] = {-3,4,7,9,13,45,67,89,100,180};
    printf("数组中的数据如下: ");     for(i = 0; i < N; i++)     {         printf("%4d  ",a[i]);     }     printf(" ");
    printf("请输入您想要查找得数字:");     scanf("%d",&m);
        while(low <= high)     {         mid = (low + high) / 2;  if(m < a[mid])  {      high = mid - 1;  }  else  {      if(m > a[mid])      {          low = mid + 1;      }      else      {          k = mid;   break;      }  }     }
    if(k >= 0)     {         printf("wei zhi shi %d,zhishi %d ",k,m);     }     else     {         printf("Not find ! ");     }
    return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。