w3resource logo

:

C Programming Exercises

C Exercises: Perform a binary search in an array

C Variable Type : Exercise-12 with Solution

Write a C program to perform a binary search in an array.

Sample Solution:

C Code:

#include<stdio.h>
#include<stdlib.h>

int compare_integers (const void * x, const void * y)
{
  return ( *(int*)x - *(int*)y );
}

int main ()
{
	int * arrItem;
	int findValue;
	int my_array[100];
	int n,i;
       printf("\nInput the number of elements to be stored in the array :");
       scanf("%d",&n);
   
       printf("Input %d elements in the array :\n",n);
       for(i=0;i<n;i++)
        {
	      printf("element - %d : ",i+1);
	      scanf("%d",&my_array[i]);
	    }		
	printf (" Input a value to search : ");
	scanf ("%d", &findValue);
	arrItem = (int*) bsearch (&findValue,
		my_array, n, sizeof (int), compare_integers);
	if (arrItem != NULL)
		printf ("%d is found in the array.\n\n",*arrItem);
	else
		printf ("%d is not found in the array.\n\n",findValue);
	return 0;
}

Sample Output:

Input the number of elements to be stored in the array :5                                                     
Input 5 elements in the array :                                                                               
element - 1 : 10                                                                                              
element - 2 : 15                                                                                              
element - 3 : 20                                                                                              
element - 4 : 25                                                                                              
element - 5 : 30                                                                                              
 Input a value to search : 20                                                                                 
20 is found in the array.

C Programming Code Editor:

Improve this sample solution and post your code through Disqus