{
double x,sum,jd,xf=1,i=1,jc=-1,m
scanf("%lf",&x)
sum=0
do
{
jc=-jc*i
xf*=x
m=xf/jc
jd=fabs(m)
sum=sum+m
i++
}
while(jd>0.00001)
printf("sum=%.2f",sum)
return 0
}
有两点错误:
1、do-while之间没有{},加上即可;
2、jc没有赋初始值,在for循环前(do-while内)应加上jc=1
另:上面代码为我作的小小修改(稍微提高一点效率)
#include <stdio.h>main()
{
float sum
int i, j=1, k=2
for(i = 1i <= 20i++) {
printf("%d %d\n", j, k)
sum = 1.0 * j / k
k += j
j = k - j
}
printf("前20项数列和是: %f\n", sum)
}