既然有对的 有错的 初步怀疑你没有考虑特殊值的
从最后一项错误来看 -0.97753012 -0.97750992 又貌似公式不对
总之 你没有题目要求 也没有贴代码 无法帮你调试
#include <stdio.h> int main () { long double sx; long double x,a,b,n,f=1; scanf ("%Lf %d",&x,&n); sx=a=x; b=1; for (n=1;n<=1000;n++) { a*=x*x; b*=4*n*n+2*n; f=-f; sx+=a/b*f; } printf ("%.8Lf\n",sx); return 0; }
#include <stdio.h> int main( void ) { double x; unsigned n; scanf( "%lf %d", &x, &n ); double result = x; double temp = x; for( unsigned i=1; i<n; ++i ) { temp *= -x*x/(4*i*i+2*i); result += temp; } printf ("%.8f\n", result ); return 0; }