# Whats wrong with this program - Output of a series

• 07-26-2006
duffmckagan
Whats wrong with this program - Output of a series
Code:

```/* Write a program to add first seven terms of the following series using a for loop:   (1/1!) + (2/2!) + (3/3!) + ..... */ #include<stdio.h> main() {         float result, temp_calc, num, temp, factorial;                for (num=1; num<=7; num++)         {                 for (temp=1; temp<=num; temp++)                 {                                                 factorial = temp*temp-1;                         temp_calc = (num/factorial);                                                         }                                                                        }                 result=result+temp_calc;                                         printf("(1/1!) + (2/2!) + (3/3!) + (4/4!) + (5/5!) + (6/6!) + (7/7!) = %f", result); }```
I don't know..but I am not getting the expected output here. :(
• 07-26-2006
Tonto
Code:

`factorial = temp*temp-1;`
So when temp is <= num @ 7, factorial is going to be 7 * 6. When temp = 1, you divide by 0. result = result + temp_calc should be inside your 1st loops body, after the 2nd, and you should initialize result = 0; You should figure out a better way to determine the factorial of a number.
• 07-26-2006
duffmckagan
Thanks for bringing me back on track..got it now :)

Done a few changes...with the factorial thing...

Code:

```result=0; for (num=1; num<=7; num++)         {                 for (temp=1, factorial=1; temp<=num; temp++)                 {                                                 factorial = factorial*temp;                         temp_calc = (num/factorial);                                                         }                                        result=result+temp_calc;                                                         }```