練習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; }