C语言求1+1⼀2!+1⼀3!+…+1⼀n!的程序改错

2025-05-17 09:36:00
推荐回答(4个)
回答1:

自定义函数错大了,改如下便可。有注释,你对照看——

double fun(int m)
{
    double y=1,t=1;//这里改了
    int i;
    for(i=2;i<=m;i++){//这里加{}了
        t=t/i;//这里改了
        y+=t;
    }
    return y;
}

回答2:

你觉得1/2然后化成整数,会是什么?答案是0。所以你是出不来结果的。请把你的t,y和t=1/里的1,都改成double型。

回答3:

#include
double fun(int m)
{
double y=1,t=1; //返回的是double型
int i;
for(i=2;i<=m;i++)
{
t = t / i; //这么写,还有括号。。
y+=t;
}
return y;
}
void main()
{
int n;
printf("enter n:");
scanf("%d",&n);
printf("\nthe result is %lf\n",fun(n));
}

回答4:

循环太多 最好写函数调用!