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


本題要求編寫程序,計算序列部分和 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(void)
{
    int i,sign;
    double sum,eps,a;
    
    scanf("%lf",&eps);
    sum=0;
    a=1.0;
    i=1;
    sign=1;
    do{                 //a作為最后一項也要加,所以把a放到最前面
        a=(sign*1.0)/i; //如果a放在dowhile的最后一項,最后一項將沒加到
        sum=sum+a;      //fabs()為絕對值函數
        i+=3;
        sign=-sign;
    }while(fabs(a)>eps);
    printf("sum = %.6f",sum);
    
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM