練習4-3 求給定精度的簡單交錯序列部分和 (15 分)
本題要求編寫程序,計算序列部分和 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
思路:求出通項后,循壞相加,注意結束的條件是最后一項的絕對值不大於給定精度eps。
代碼如下:
#include<stdio.h>
#include<math.h>
int main()
{
double n, sum=0, a=1, d=1, f=1;
scanf("%lf",&n);
if(n>=1)
sum=1;
else
{
while(fabs(a)>n)
{
a=1.0*f/d;
d=d+3;
f=-f;
sum=sum+a;
}
}
printf("sum = %lf",sum);
return 0;
}
