求解这个为什么运行答案是错的C语言

img

img


求解,这个为什么运行答案是错的 ,要求用C语言,我在软件上步进发现循环没有啥问题

你没有求阶乘,!表示阶乘的意思,2!=1x2,3!=1x2x3...
应该这样写:

#include<stdio.h>
int fun(int n)
{
    int sum = 1;
    for (int i = 1; i <= n; i++)
        sum *= i;
    return sum;
}
void main()
{
    int n;
    double s=0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        s += 1.0/fun(i);
    printf("%f", s);
    return 0;
}


你没有做阶乘啊 n! = 123*4...*n