您的位置:首页 > 编程语言 > C语言/C++

折半查找法--C语言谭浩强版练习6.9

2015-09-27 12:34 495 查看
不多说,直接上图。
本程序来源于百度百科――折半查找法
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int arrayA[15]={2, 4, 5, 7, 8,
10, 12, 13 ,15, 17,
20, 23, 25, 26, 27};
int num;
int min=0;
int max=14;
int mid;
int flag=0;

printf("Please input the number you want to be find:\n");
scanf("%d", &num);

while(min+1!=max)
{
mid=(min+max)/2;

if(arrayA[mid]==num)
{
printf("The num %d at %d", num, mid);
flag=1;
break;
}
else if(arrayA[mid]>num)
max=mid;
else if(arrayA[mid]<num)
min=mid;
}

if(num==arrayA[max])
printf("输入的数在数列的第%d位\n",max);
else if(num==arrayA[min])
printf("输入的数在数列的第%d位\n",min);
else if (num!=arrayA[mid])
printf("输入的数不在数列中");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: