c语言编程实现“折半查找”的过程。
// Vc运行
//函数10
void f10()
{
int i,j,n=15,m=0;
float a[15],k;
printf("此函数为: 将15数从小到大的顺序输入到一个数组中。
\n输入任意一个数,用折半查找法(折半之后再查找)找到在该数组中的位置。
\n若不在输出“不在数组中”\n");
printf("请按从小到大依次输入15个数:\n");
for(i=0;i<15;i++)
scanf("%f",&a[i]);
printf("请输入任意一个数:");
scanf("%f",&k);
printf("输出为:\n");
j=n/2;
for(i=1;m==0;i++)
{
if(k<a[0]||k>a[n-1])
{m=1; printf("该数不在其数组中\n");}
else if(j<0||j>(n-1))
{m=1; printf("该数不在其数组中\n");}
else if(k==a[j])
{m=1;printf("该数为在数组中的第%d元素\n",j+1);}
else if(k<a[n/2])
j--;
else if(k>a[n/2])
j++;
}
system("pause...");
}
不好意思,我的是错的