用C语言编写求cosx


#include<stdio.h>
#include<math.h>
int main()
{
    double fac,x,xn,i,u,cosx;
    int p,n;
    printf("请输入cosx中x的值:"); 
    scanf("%lf",&x);
    n=1;
    fac=1;
    cosx=1;
    p=-1;
    i=1;
    do
    {fac=fac*n;
    n++;
    fac=fac*n;
    xn=pow(x,n);
    u=xn/fac*p;
    cosx=cosx+u;
    n++;
    p=-p;}
    while(xn/fac>1e-6);
    printf("%.16lf",cosx);
    return 0;
}

遇到的问题:当输入的x大于40时,程序结果出现错误

用代码块编辑一下,你这代码不完整。