A08 Answer


#include <stdio.h>
#include <stdlib.h>

/* Puzzle A08 -- add up even, odd and all integers from 0 to N */
int main(int argc, char *argv[])
{
  int j;
  int sumAll = 0, sumOdd = 0, sumEven = 0;
  int n;

  printf("Enter n: ");
  scanf("%d", &n );

  for (j=0; j<=n; j++ )
  {
    sumAll += j;
    if ( j%2 == 0 )
      sumEven += j;
    else
      sumOdd  += j;
  }
  printf("Sum = %4d, Sum of Odd = %4d, Sum of Even = %4d\n", 
      sumAll, sumOdd, sumEven);

  system("PAUSE");	
  return 0;
}

Comment: The above is a sensible answer. Here is another way to get the same result:

  for (j=0; j<=n; j++ )
  {
    sumAll += j;
    if ( j%2 == 0 ) sumEven += j;
  }

  printf("Sum = %4d, Sum of Odd = %4d, Sum of Even = %4d\n", 
      sumAll, sumAll-sumEven, sumEven);