求給定精度的簡單交錯序列部分和
本題要求編寫程序,計算序列部分和 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>
#include <math.h>
int main()
{
int flag = 1;
int i;
double sum = 0, eps;
scanf("%lf", &eps);
for(i = 1; ; i += 3){
sum += flag * 1.0 / i;
flag = -flag;
if (1.0 / i <= eps) break;
}
printf("sum = %.6f\n", sum);
return 0;
}