# C program to count numbers of even and odd elements in an array

## Count the number of even and odd elements in C

Here, in this page we will discuss the program to count the number of even and odd elements in C programming language. We are given with an array and need to print the count of even elements and odd elements. ## Method Discussed :

• Method 1 : Using Modulo Operator
• Method 2 : Using Bit-wise operator

## Method 1 :

• Declare two variable say even_count=0 and odd_count = 0.
• Start Iterating over the array.
• Check if(arr[i]%2==0) then increment even_count by 1
• Else odd_count by 1

### Time and Space Complexity :

• Time Complexity : O(n)
• Space Complexity : O(1)

### Method 1  : Code in C

```#include<stdio.h>

int main(){

int arr[] = {1, 7, 8, 4, 5, 16, 8};
int n = sizeof(arr)/sizeof(arr);

int even_count=0, odd_count=0;

for(int i=0; i<n; i++){
if(arr[i]%2==0)
even_count++;

else
odd_count++;
}
printf("Even Elements count : %d \nOdd Elements count : %d", even_count, odd_count);
}```

### Output :

```Even Elements count : 4
Odd Elements count : 3```

## Method 2 :

In this method we will use bit-wise AND operator. By doing AND of 1 with array element, if the result comes out to be 1 then the number is odd otherwise even.

### Method 2  : Code in C

```#include<stdio.h>

int main(){

int arr[] = {1, 7, 8, 4, 5, 16, 8};
int n = sizeof(arr)/sizeof(arr);

int even_count=0, odd_count=0;

for(int i=0; i<n; i++){
if((arr[i]&1)==0)
even_count++;

else
odd_count++;
}
printf("Even Elements count : %d \nOdd Elements count : %d", even_count, odd_count);
}```

### Output :

```Even Elements count : 4
Odd Elements count : 3```