# Program to find sum of even and odd numbers (using one for loop) in C

Instead of using two for loops as in the previous program, only one for loop can be used. Let us see how this can be achieved.

sum= 0;

/* To add all numbers */

for(i=1; i<=n; i++)

{

sum = sum+i;

}

It is easy to say that we are computing the sum of all the numbers from 1 to n. To add only even numbers or to add numbers, the code can be changed as shown below:

esum=0; /* To store sum of even numbers */

osum = 0; /* To store sum of odd numbers */

/* To generate the integer from 1 to n */

for(i=1; i<=n; i++)

{

if(i % 2 == 0) /* If even */

esum = esum + i; /* Add to even sum */

else

osum = osum + i;

}

Thus, after the control comes out of the for-loop, the variable esum contains the sum of even numbers and the variable osum contains the sum of odd numbers. The result can be printed using the following statements:

printf("Sum of even numbers = %d\n",esum);

printf("Sum of odd numbers = %d\n", osum);

#include<stdio.h>

main( )

{

int n, i, esum, osum;

printf("Enter the value of n:\n");

scanf("%d",&n);

/* Generate and print number from 1 to n */

printf("Integer from 1 to %d are \n",n);

for(i=1; i<=n;i++)

printf("%d",i);

printf("\n");

esum=0;

osum=0;

/* find sum of even and odd numbers */

for ( i=1; i<=n; i++)

{

if((i %2) == 0)

esum +=i; /* Add even numbers */

else

osum += i; /* Add odd numbers */

}

printf(" Sum of even numbers = %d\n",esum);

printf("Sum of odd numbers = %d\n",osum);

}

Non-executable statement

Enter the value of n:

6

Integer from 1 to 6

1 2 3 4 5 6

e_sum = 0

o_sum = 0

i=1 2 3 4 5 6

e_sum = 0+2+4+6

= 12

o_sum= 0+1+3+5

= 9

Sum of even numbers =12

Sum of odd numbers = 9

sum= 0;

/* To add all numbers */

for(i=1; i<=n; i++)

{

sum = sum+i;

}

It is easy to say that we are computing the sum of all the numbers from 1 to n. To add only even numbers or to add numbers, the code can be changed as shown below:

esum=0; /* To store sum of even numbers */

osum = 0; /* To store sum of odd numbers */

/* To generate the integer from 1 to n */

for(i=1; i<=n; i++)

{

if(i % 2 == 0) /* If even */

esum = esum + i; /* Add to even sum */

else

osum = osum + i;

}

Thus, after the control comes out of the for-loop, the variable esum contains the sum of even numbers and the variable osum contains the sum of odd numbers. The result can be printed using the following statements:

printf("Sum of even numbers = %d\n",esum);

printf("Sum of odd numbers = %d\n", osum);

### The complete program is shown below:

Example : Program to add even numbers and odd numbers.**Program**#include<stdio.h>

main( )

{

int n, i, esum, osum;

printf("Enter the value of n:\n");

scanf("%d",&n);

/* Generate and print number from 1 to n */

printf("Integer from 1 to %d are \n",n);

for(i=1; i<=n;i++)

printf("%d",i);

printf("\n");

esum=0;

osum=0;

/* find sum of even and odd numbers */

for ( i=1; i<=n; i++)

{

if((i %2) == 0)

esum +=i; /* Add even numbers */

else

osum += i; /* Add odd numbers */

}

printf(" Sum of even numbers = %d\n",esum);

printf("Sum of odd numbers = %d\n",osum);

}

### TRACING

Execution starts from hereNon-executable statement

**Input**Enter the value of n:

6

**Output**1Integer from 1 to 6

1 2 3 4 5 6

**Computations**e_sum = 0

o_sum = 0

i=1 2 3 4 5 6

e_sum = 0+2+4+6

= 12

o_sum= 0+1+3+5

= 9

**Output**2Sum of even numbers =12

Sum of odd numbers = 9

Program to find sum of even and odd numbers (using one for loop) in C
Reviewed by Jacob Lefore
on
December 21, 2014
Rating:

## No comments