猿问

为什么代码答案不对

#include<stdio.h>

#include<math.h>

int main()

{

double i,n,sum,eps,term;

scanf("%lf",&eps);

sum=0;

i=1;

n=1;

do{

sum=sum+term;

n=-n;

i=i+3;

term=n/i;

}while(fabs(term)>eps);

printf("%f",sum);

}

本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps

Corleone3
浏览 2183回答 2
2回答

qq_无言_fqJN09

#include<stdio.h>#include<math.h>main(){int n;double sum=0,esp;scanf("%lf",&esp);for(n=1;;n++){sum=sum+pow(-1,n+1)*1.0/(3*n-2);if(1.0/(3*n-2)<=esp) break;}printf("sum=%.6f",sum);}

望远

term没有赋初值1
随时随地看视频慕课网APP
我要回答