有没有哪位善良的大好人知道为啥运行出来后会多个0

img

img


为啥运行出来后会多出来个0.000000呢?
我想的会不会是在c++不符合后跳出去那块出了问题,但是找不着具体出在哪QAQ
刚刚发现把主函数里的printf删了就好了
可是要求是输入输出都在主函数中进行,这样应该怎么办?-?

img


#include <stdio.h>
double fac(int n)
{
    int a;
    double c=1;
    for(a=2;a<=n;a++)
        c*=a;
    return c;
}

int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i+=2)
    {
        printf("%.0lf ",fac(i));
    }

    return 0;
}