# Thread: Whats wrong with this program - Output of a series

1. ## 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.

2. 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.

3. 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;

}```