題目描述
本題要求編寫程序,計算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一項的絕對值不大於給定精度eps。
輸入格式:
輸入在一行中給出一個正實數eps。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后六位。題目保證計算結果不超過雙精度范圍。
輸入樣例1:
4E-2
輸出樣例1:
sum = 0.854457
輸入樣例2:
0.02
輸出樣例2:
sum = 0.826310
#include <stdio.h>
#include <math.h>
/*1 - 1/4 + 1/7 - 1/10 + ...
審題!直到最后一項不大於!!包含最后一項,所以用do-while*/
int main()
{
int sign=1;
double eps,sum=0,temp=1,k=1;
scanf("%lf",&eps);
do{
k=sign*1.0/temp;
sum=sum+k;
temp+=3;
sign=-sign;
}while(fabs(k)>eps);
printf("sum = %.6f",sum);
return 0;
}