#include <stdio.h>#include <stdlib.h>int main(){ printf("hello"); int r=1;//计数器 float e,j;//j为阶乘的结果 e = 0.0; r = 2; j = 1 / r; do { e += j; r +=1; j *= 1 / r*(-1); } while (abs(e) < 1E-4); printf("%f", e);}
程序的错误在于忽略了两个整数的商仍然是一个整数,所以加起来就一直是零。
还有,计算e的公式是:
e=1+1/1!+1/2!+1/3!+1/4!......
#include <stdio.h>
#include <math.h>
int main()
{ printf("hello\n");
int r=1;//计数器
float e,j;//j为阶乘的结果
e = 0.0;
r = 0;
j = 1;
do
{ e += j;
r += 1;
j *= 1.0 / r;
}
while (fabs(j) > 1E-4);
printf("%f", e);