練習4 3 求給定精度的簡單交錯序列部分和

2021-08-28 08:43:44 字數 1617 閱讀 2592

練習4-3 求給定精度的簡單交錯序列部分和 (15 分)

本題要求編寫程式,計算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最後一項的絕對值不大於給定精度eps。

輸入在一行中給出乙個正實數eps。

在一行中按照「sum = s」的格式輸出部分和的值s,精確到小數點後六位。題目保證計算結果不超過雙精度範圍。

4e-2
sum = 0.854457
0.02
sum = 0.826310
分析:本題與之前做過的交錯序列和相加題型類似。但是這道題要特別注意也最易錯的一點就是:「直到最後一項的絕對值不大於給定精度eps」這句話。也就是說最後一項的數值是<=eps的,而且這個數值也要算在加和sum中;所以如果用while迴圈,一定要注意在while迴圈內部,double num = sign*1.0 / i;這一句要寫在sum = sum + num之前,否則迴圈會少進行一次,也就導致序列和的最後乙個數值(即<=eps的那個值)沒有被加進sum中。

如下:(迴圈少進行了一次,序列和的最後乙個數值(即<=eps的那個值)沒有被加進sum中)

#define _crt_secure_no_warnings 1

#include#include#includeint main()

printf("sum = %.6f\n", sum);

system("pause");

return 0;

}

測試結果(以esp=0.02為例),左邊為正確答案,右邊少迴圈一次

修改後**:(while迴圈)

#define _crt_secure_no_warnings 1

#include#include#includeint main()

printf("sum = %.6f\n", sum);

system("pause");

return 0;

}

測試結果:

do while迴圈:

#define _crt_secure_no_warnings 1

#include#include#includeint main()

while (fabs(num) > eps);

printf("sum = %.6f\n", sum);

system("pause");

return 0;

}

測試結果:

求給定精度的簡單交錯序列部分和

題目要求如下 7 15 求給定精度的簡單交錯序列部分和 15 分 本題要求編寫程式,計算序列部分和 1 1 4 1 7 1 10 直到最後一項的絕對值不大於給定精度eps。輸入格式 輸入在一行中給出乙個正實數eps。輸出格式 在一行中按照 sum s 的格式輸出部分和的值s,精確到小數點後六位。題目...

c語言 求給定精度的簡單交錯序列部分和

本題要求編寫程式,計算序列部分和 1 1 4 1 7 1 10 直到最後一項的絕對值不大於給定精度eps。輸入格式 輸入在一行中給出乙個正實數eps。輸出格式 在一行中按照 sum s 的格式輸出部分和的值s,精確到小數點後六位。題目保證計算結果不超過雙精度範圍。輸入樣例1 4e 2 輸出樣例1 s...

遞迴求簡單交錯冪級數的部分和

本題要求實現乙個函式,計算下列簡單交錯冪級數的部分和 f x,n x x 2 x 3 x 4 1 n 1 x n 函式介面定義 double fn double x,int n 其中題目保證傳入的n是正整數,並且輸入輸出都在雙精度範圍內。函式fn應返回上述級數的部分和。建議嘗試用遞迴實現。裁判測試程...