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 Program to Search for an Element in an Array.

C Program to Search an Element in an Array

This program asks the user to enter the Array size, 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 it or not using For Loop.

#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 arr[] of size 10 and also declared i to iterate the 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 arr[] size (Number of elements it can handle), and assign the user entered values to the 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 does not exceed the limit.

The scanf statement inside the for loop stores the user entered values into individual array elements 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 program, We have one more for loop, used to iterate every element in an array. The If Statement inside the For loop will check whether arr[i] is equal to the 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 the C 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 the If Else Statement to check whether the Flag value is equal to 1 or not. If true, the item is present else not present.

Let me try different 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