有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组数组中第几个元素的值。如果该数不存在数组中,则输出“无此数”。

作者在 2017-04-15 11:17:47 发布以下内容
#include<stdio.h>
int main()
{
int t[15]={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int a,b,c,mid;
int i;
a=0;b=14;
printf("the array is:\n");
for(i=0;i<15;i++)
printf("%d",t[i]);
printf("\n");
printf("please input the number:");
scanf("%d",&c);
while(a<=b)
{
mid=(a+b)/2;
if(c==t[mid])
{
printf("the number %d is in %dth\n",t[mid],mid+1);
break;
}
else if (c<t[mid])
a=mid+1;
else b=mid-1;
}
if(a>b)
printf("无此元素\n");
return 0;
}
默认分类 | 阅读 1293 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论