Я не понимаю, почему постоянно выводит ноль, вместо корректного ответа

Вычислить бесконечную сумму с заданной точностью ε (ε>0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых и очередное слагаемое оказалось по модулю меньше, чем ε, - это и все последующие слагаемые можно уже не учитывать. Заданная бесконечная сумма: i от 1
1/(i*(i+1))

#include <stdio.h>
#include <math.h>


int main(void)
{
    int i=1;
    double d=9999,e,a=0.0;
    printf("e = ");scanf("%lf",&e);
    while(fabs(d)>e)
    {
        printf("i = %i, ", i);
        d = 1/(i*i + i);
        printf("d = %lf, ", d);
        a += d;
        printf("a = %lf, ", a);
        i++;
    }
    printf("Answer: %lf", a);
} 


Ответы (0 шт):