Red de conocimiento informático - Computadora portátil - ¡Preguntas de programación en lenguaje C! ¡No puedo entender por qué el resultado del cálculo final es incorrecto!

¡Preguntas de programación en lenguaje C! ¡No puedo entender por qué el resultado del cálculo final es incorrecto!

fac=fac*(fac+1); Esto está mal

¿Es fac el factorial?

Debería haber otra variable para guardar el número por el que se está multiplicando actualmente, como i

La correcta debería ser fac=fac*i;

# incluir

int main(void)

{

float sum=1,term=0,n;

int fac =1;

int i = 1;

printf("Ingrese el límite: ");

scanf("%f",&n );

término=1.0/fac;

mientras (término > n)

{

suma=suma+término;

i++;

fac=fac*i;

term=1.0/fac; //Pon esto al final

}

printf("e se aproxima a %f",suma);

}