编写一个函数,由公式e=1+1/1!+1/2!+ 1/3!+…,计算不同精确度下e的近似值。要求能够用键盘揄入指定的精确度,并输出该精确度下的e的近似值
例如:输入精确度为10e-6,则输出结果:2.718279。
#include <math.h>
#include <stdio.h>
double calculateE(double precision) {
double e = 1, temp = 1;
int count = 1;
for (int i = 1; i < 1000000; i++) {
for (int j = 1; j <= i; j++) {
temp *= j;
}
if (fabs(1.0 / temp) < precision) {
break;
}
e += 1.0 / temp;
count++;
temp = 1;
}
return e;
}
int main() {
double precision;
printf("请输入精确度(例如10e-6):");
scanf("%le", &precision);
double e=calculateE(precision);
printf("e的近似值为%.6lf\n", e);
return 0;
}