# 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);

### 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 here

Non-executable statement
Input
Enter the value of n:
6
Output 1
Integer 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 2

Sum of even numbers =12
Sum of odd numbers = 9

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google