Tomxukexuan 2014-07-30 07:07 采纳率: 100%
浏览 2693
已采纳

有关用C语言阶乘的问题

昨天见到一道题:1+1/1!+1/2!+......+n
N是不小于10的-6次方的数

#include <stdio.h>

int main()
{
double a=1,b=0,c=1,e=0;
while (b>=1e-6)
{
    c=c*a;
    a=a+1;
    b=1/c;
    e=e+b;
} 
printf("%f\n",e);
return 0;

}
但结果却是:0.000000
到底是哪里错了??
希望得到大家指点!

  • 写回答

3条回答 默认 最新

  • Tomxukexuan 2014-07-30 13:03
    关注

    #include

    int main()
    {
    double a=1,,c=1,e=0;
    while ((1/c)>=1e-6)
    {
    c=c*a;
    a=a+1;
    e=e+1/c;
    }
    printf("%f\n",e);
    return 0;
    }
    B完全不需要,“(1/c>=1e-6)”“1/c”外要加“()”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题