binary search
#include<stdio.h> int binarysearch(int arr[],int target,int mid,int size,int *pass) { int l=0; int h=size-1; while(l<=h) { int mid=(l+h)/2; if(arr[mid]==target) { return 1; } else if(arr[mid]<target) { l=mid+1; *pass=(*pass)+1; } else { h=mid-1; *pass=(*pass)+1; } } return -1; } int main() { int mid; int pass=1; int arr[]={10,20,30,40,50,60,70}; int size=sizeof(arr)/sizeof(arr[0]); int target; printf("enter the number to find\n"); scanf("%d",&target); int ans=binarysearch(arr,target,mid,size,&pass); if(ans==-1) { printf("data not found"); } else { printf("\n data found at %d pass",pass); } }