第2个回答 2018-01-04
修改了一下。 用 前后项的递推: c=c*x*x/(float)i/(float)(i-1);
#include <stdio.h>
#include <math.h>
int main(){
double x,a,b=1,c=1,sum;
int i,count=1;
scanf("%lf",&x);
sum=x;
for (i=3; fabs(c)>1e-05;i=i+2){
c=c*x*x/(float)i/(float)(i-1);
b= -b;
sum=sum + c*b;
count++;
}
printf("%.3lf %d\n",sum,count);
return 0;
}本回答被网友采纳
第3个回答 2019-11-12
#include<stdio.h>
int main() {
double x,sum=0,pre=0;
int n,i=1;
scanf("%lf %d",&x,&n);
pre=x;
for(i=1; i<=2*n-1; i+=2) {
sum+=pre;
pre=-pre*x*x/((i+1)*(i+2));
}
printf("%.8f",sum);
return 0;
}