问题
尝试用自己的思路,结果错了也不知道为什么
#include
int main(void)
{
int n, i;
float p;
double E = 0;
for (n = 1; ; n++)
{
p = 1;
for (i = 1; i <= n; i++);//计算阶乘
{
p = p * i;
}
E = E + (1 / p);
if ((1/p) - (1e-5) < 0)
break;
}
E = E + 1;
printf("%.6lf %d", E, n);
return 0;
}
codeblocks输出结果:
12.090146 99999
Process returned 0 (0x0) execution time : 2.095 s
Press any key to continue.
for (i = 1; i <= n; i++);//计算阶乘
for循环后面的分号删掉