本题要求实现一个函数,用下列公式求cos(x)的近似值 找不出代码的错误在哪里

请问各位我这个代码有什么错误 输出结果有一个错误 但是被隐藏了
谢谢各位

img

img

#include <stdio.h>
#include <math.h>
int fact(int);
double funcos( double e, double x );
int main()
{    
    double e, x;
    scanf("%lf %lf", &e, &x);
    printf("cos(%.2f) = %.6f\n", x, funcos(e, x));
    return 0;
}

double funcos( double e, double x )
{
    double sum=0,temp=0;
    int i=0,flag=1;
    do
    {
        temp=pow(x,i*2)/fact(i*2);
        sum=sum+temp*flag;
        i++;flag=-flag;
    }while(temp>=e);
    return sum;
}

int fact(int n)
{
    int factor=1,i;
    if(n==0)
    factor=1;
    else
    {
        for(i=1;i<=n;i++)
        factor=factor*i;
    }
    return factor;
}