#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<=2i-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;
}