C Program to Search an Element in an Array

How to write a C Program to Search an Element in an Array with an example?. Before going into this C Program to Search an Element in an Array.

C Program to Search an Element in an Array

This program asks the user to enter the Array size, Array elements, and the Search item value. Next, this C Program to Search an Element in an Array will check whether the user entered search item is present in the array or not using For Loop.

/* C Program to Search an Element in an Array */
 
#include<stdio.h>

int main()
{
  	int arr[10], Size, i, Search, Flag;
  
  	printf("\n Please Enter the size of an array :  ");
  	scanf("%d",&Size);
 
  	printf("\n Please Enter %d elements of an array: \n", Size);
  	for(i = 0; i < Size; i++)
   	{
   	 	scanf("%d",&arr[i]);
   	}
	
	printf("\n Please Enter the Search Element  :  ");
  	scanf("%d",&Search);      
 
  	Flag = 0;
  	for(i = 0; i < Size; i++)
   	{
   		if(arr[i] == Search)
     	{
       		Flag = 1;
       		break;
	 	}   
   	}
  
  	if(Flag == 1)
  	{
  		printf("\n We found the Search Element %d at Position %d ", Search, i + 1);
	}
	else
	{
		printf("\n Sorry!! We haven't found the the Search Element %d ", Search);
	}	
  	return 0;
}
C Program to Search an Element in an Array 1

In this C Program to Search an Element in an Array, We declared 1 One Dimensional Arrays arr[] of size 10 and also declared i to iterate the Array elements. Please refer to Array in C article to know the concept of Array size, index position, etc.

Below C Programming statements asks the User to enter the array arr[] size (Number of elements an Array can handle), and assign the user entered values to Size variable.

printf("\n Please Enter the size of an array \n");
scanf("%d",&Size);

Below For loop helps to iterate each cell present in an array. The for loop condition ensures the compiler, not to exceed the array limit.

The scanf statement inside the for loop store the user entered values into individual array element such as arr[0], arr[1], arr[2], arr[3], arr[4]

for(i = 0; i < Size; i++)
   	{
   	 	scanf("%d",&arr[i]);
   	}

In the next line of this C program, We have one more for loop, used to iterate every element in an array. If Statement inside the For loop will check whether arr[i] is equal to search item or not. If it is true, then Flag will become one and exit from the Loop (using Break Statement)

for(i = 0; i < Size; i++)
   	{
   		if(arr[i] == Search)
     	{
       		Flag = 1;
       		break;
	 	}   
   	}

From the above screenshot, you can observe that the user inserted values for Program to Search an Element in an Array are

a[5] = {10, 20, 30, 20, 40} and search Item = 20

First Iteration

The value of i will be 0, and the condition (i < 5) is True. So, it will start executing the statements inside the loop until the condition fails.

If (arr[i] == Search)  => if(10 == 20) -Condition is False

Second Iteration: The value of i will become 1, and the condition (1 < 5) is True.

If (arr[1] == Search)  => if(20 == 20) – Condition is True
Flag = 1

Next, the Break statement will exit from the Loop

Next, we used If Else Statement to check whether Flag value is equal to 1 or not. If true, the Search item is present else not present.

Let me try different array elements

 Please Enter the size of an array :  10

 Please Enter 10 elements of an array: 
10 20 30 40 50 60 70 10 20 50

 Please Enter the Search Element  :  100

 Sorry!! We haven't found the the Search Element 100