拙木鸟


私信TA

用户名:723

访问量:17129

签 名:

等  级
排  名 1264
经  验 3037
参赛次数 0
文章发表 15
年  龄 0
在职情况 学生
学  校 上海大学
专  业

  自我简介:

因为没有限制n的大小,所以int可能不够装,所以要用double,在子函数里存临时的阶乘结果a也要是double。

#include <stdio.h>
double fact(int k)
{
    double a = 1;    
    for (int i = 1; i <= k; i++)
    {
        a *= i;
    }
    return a;
}
int main()
{
    int n;
    double sum = 0.0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        sum += 1 / fact(i);
    }
    printf("sum=%.5f", sum);
    system("pause");
    return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »