本題要求編寫程序,計算序列部分和 4∗(1−1/3+1/5−1/7+...) ,直到最后一項的絕對值小於給定精度eps
。
輸入格式:
輸入在一行中給出一個正實數eps
。
輸出格式:
在一行中按照“Pi = pi
”的格式輸出部分和的值pi
,精確到小數點后四位。題目保證輸入數據和計算結果均不超過雙精度范圍。
輸入樣例1:
0.0001
結尾無空行
輸出樣例1:
Pi = 3.1418
結尾無空行
輸入樣例2:
0.2
結尾無空行
輸出樣例2:
Pi = 2.8952
結尾無空行
answer
#include <stdio.h>
#include <math.h>0.0001
int main(){
double symbol = 1;
double eps,denominator = 1,sum = 0,monomer;
scanf("%lf",&eps);
do{
monomer = symbol*1/denominator;
sum = sum + monomer;
symbol = symbol * -1;
denominator = denominator+2;
}while(fabs(monomer) >= eps);
printf("Pi = %.4lf",sum*4);
return 0;
}