用pow来计算三角函数通过泰勒解析式,这个结果不对

#include <stdio.h>
#include <math.h>
int main()
{ int h=-1,n;
double sum=0,sum2,sum3=1,x,sum4,i;
scanf("%lf%d",&x,&n);
for(i=1.0;i<=n;i++)
{h=-h;
sum2= pow(x,2.0i-1.0);
{for (int t=1;t<=2
i-1;t++)
sum3=sum3t;} //迭乘
sum4=h
(sum2/sum3);
sum=sum+sum4;}
printf("%.8lf",sum);
return 0;
}

这代码肯定跑不起来啊,都存在语法错误,你两个变量相乘怎么可能会省去 * 号呢

修改如下,供参考对照:

#include <stdio.h>
#include <math.h>
int main()
{
    int h=-1,n,i,t;
    double sum=0,sum2,sum3=1,x,sum4;
    scanf("%lf%d",&x,&n);
    for(i=1;i<=n;i++)
    {
        h=-h;
        sum2= pow(x,2.0*i-1.0);
        for (t=1,sum3=1;t <= 2*i-1;t++)
             sum3=sum3*t; //阶乘
        sum4=h*(sum2/sum3);
        sum=sum+sum4;
    }
    printf("%.8lf",sum);
    
    return 0;
}