编写程序计算s=1+1⼀2!+1⼀3!+1⼀4!+...1⼀n!

2024-11-27 04:41:17
推荐回答(1个)
回答1:

#include
double factorial(int m);//返回正整数n的阶乘结果
double sum(int n);  //返回累加结果
int main(void)
{
    int n;
    scanf("%d",&n);//格式化地从缓冲区里读取用户键入的数字 
    printf("s=%.16f\n",sum(n)); //截取小数点后16位
    return 0;
}
double sum(int n)
{
    double result=0;//最初结果当然是“零”啦! 
    int p;
    for (p=1;p<=n;p++)
        result=result + 1/factorial(p);//累加 
    return result;
}
double factorial(int m)
{
    double result=1;//“0”的阶乘是“1”
    int i;
    for (i=1;i<=m;i++)
        result=result*i;
    return result;
}
/*
看到好多人踩我的答案,
然后我觉得是最开始的答案太垃圾 
因为我回答这个问题的时候,
我也是刚学C语言,
这个程序是我还没上课就预习,
熬夜自学C语言,简单从书上抄几段代码
根据自己的粗略的理解写出来的…… 
最后一次更新答案的时间为2020.10.31
*/