#include<stdio.h>
#include<math.h>
int main()
{
int nums[15]={28,26,24,23,20,18,16,15,13,11,8,7,5,3,2};
int n;
printf("nums数组的数从大到小为:");
for(int k=0;k<15;k++)
printf("%d ",nums[k]);
printf("\n");
scanf("%d",&n);
int i=0,j=14;
int mid;
while(i<=j){
mid=(i+j)/2;
if(nums[mid]==n)
{
printf("他是第%d个元素\n",mid+1);
return 0;
}
else if(nums[mid]>n)
{
i=mid+1;
}
else{
j=mid-1;
}
}
if(i>j)
printf("无此数\n");
return 0;
}
有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出无次数。--C语言
最新推荐文章于 2024-07-22 14:12:09 发布