1. 程式人生 > 其它 >程式設計題:練習4-3 求給定精度的簡單交錯序列部分和

程式設計題:練習4-3 求給定精度的簡單交錯序列部分和

技術標籤:# 浙大版《C語言程式設計(第3版)》題目集c語言程式語言

題目要求:

本題要求編寫程式,計算序列部分和 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>
double ComputeSum
(double eps) { int flag = 1; double sum = 0; int i = 1; double tmp = 0; do { sum = sum + flag * (1.0) * 1 / i; tmp = flag * (1.0) * 1 / i; flag = -flag; i += 3; if (tmp < 0) { tmp = -tmp; } if (tmp <= eps) { break; } } while (tmp>eps); return sum; } int main() { double
eps = 0; double S = 0; scanf("%lf", &eps); S = ComputeSum(eps); printf("sum = %.6lf\n", S); return 0; }