#include<stdio.h>
void find (int a[] , int n , int m )//查找函数声明
{
int max ;//以下分别定义了数组a的最大最小以及中值坐标
int min ;
int mid;
int flag=0;//标志变量
min=0;
max=n-1;
mid=(max+min)/2;
while(min<=max)//判断m是否在数组中(二分法判断)
{
if(m>a[mid])
{
min=mid+1;
mid=(max+min)/2;
}
else if(m<a[mid])
{
max=mid-1;
mid=(max+min)/2;
}
else if(m==a[mid])
{
flag=1;
break;//找到m跳出循环
}
}
if(flag)
printf("Yes\n");
else printf("No\n");
}
int main()
{
int a[10];//定义数组
int n ;
int m ;
int i ;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
find(a,n,m);//调用函数
return 0;
}
今日复习——查找问题
猜你喜欢
转载自blog.csdn.net/qq_43345339/article/details/84948539
今日推荐
周排行