编写程序,用下面的公式计算e的近似值:1 + 1/1! + 1/2! + 1/3! +…+ 1/n!,这里n是用户输入的整数。
# include <stdio.h>
int main()
{
int i, n;
double e1 = 1, e2, e3 = 0, e = 0;
printf("Enter n: ");
scanf("%d", &n);
for(i = 1; i <= n; i++){
e1 *= i;//计算分子部分
printf("e1 = %.6f\n", e1); //为了便于理解,显示计算过程
e2 = 1.0 / e1;
printf("e2 = %.6f\n", e2);
e3 += e2;//把所有分数部分相加
printf("e3 = %.6f\n", e3);
printf("\n");
}
e = 1 + e3;
printf("e = 1 ");
for(i = 1; i <= n; i++){
printf("+ 1/%d ! ", i);
}
printf("=%.6f\n", e);
return 0;
}
当n的值够大,e的值就越精确,例如,当n为100时,e为2.718282。