Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

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.

Flowchart:

C Exercises Flowchart: Perform a binary search in an array

C Programming Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Write a C program to allocate a block of memory for an array.
Next: Write a C program to convert a string to an integer.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

Static variable inside of a function in C

The scope of variable is where the variable name can be seen. Here, x is visible only inside function foo().

The lifetime of a variable is the period over which it exists. If x were defined without the keyword static, the lifetime would be from the entry into foo() to the return from foo(); so it would be re-initialized to 5 on every call.

The keyword static acts to extend the lifetime of a variable to the lifetime of the programme; e.g. initialization occurs once and once only and then the variable retains its value - whatever it has come to be - over all future calls to foo().

Ref : https://bit.ly/3fOq7XP