#include<stdio.h>
//二分法查找一个数组中的数
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30};//arr数组中的值
int x;//下标为数的值减一
printf("请输入要查找到的数x=");
scanf("%d",&x); //要查找的数 在arr数组里面查找x的小标
int seize=sizeof(arr)/sizeof (arr[0]);//数组的长度除以数组单个元素的长度 求出数组的元素个数
int left=0;
int right=seize-1;
while(left<=right)
{
int mid=(left+right)/2;
if(arr[mid]>x)
{
right=right-1;
}
else if(arr[mid]<x)
{
left=left+1;
}
else
{
printf("找到了,x的下标为%d\n",mid);
break;
}
if(left>right)
{
printf("找不到这个数x\n");
}
}
return 0;
}
C语言在一个数组中查找一个数字
最新推荐文章于 2023-12-11 17:26:43 发布