大一,对着它看一天了,真看不出来哪出了问题,不敢问同学,希望各位帮帮忙,谢谢了!
你可以参考这个,两种写法。 https://ask.csdn.net/questions/7798480/53927579?spm=1001.2014.3001.5504
#include<stdio.h>
int main()
{
int i, n, one;
double x, s, a, b, x2;
scanf("%lf %n", &x, &n);
x2 = x * x;
s = x;
a = x;
b = 1;
one = 1;
for (i = 2; i <= n; i++)
{
one *= -1;
a *= x2;
b *= (2 * i - 1) * (2 * i - 2);
s += one * a / b;
}
printf("%.10lf", s);
}
试试这位大佬的算法
https://blog.csdn.net/qq_39977056/article/details/121665386
#include<stdio.h>
int main()
{
int n,i;
double a,b=1,s=0,x;
scanf("%lf%d",&x,&n);
a=x;
for(i=1;i!=n;i++)
{
s=s+a/b;
a=-a*x*x;
b=b*2*i*(2*i+1);
}
printf("%.8lf",s);
return 0;
}