程式設計題:練習4-3 求給定精度的簡單交錯序列部分和
阿新 • • 發佈:2021-02-04
技術標籤:# 浙大版《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;
}