習題5-7 使用函數求余弦函數的近似值(15 分)


本題要求實現一個函數,用下列公式求cos(x)的近似值,精確到最后一項的絕對值小於e:

cos(x)=x0​​/0!x2​​/2!+x4​​/4!x6​​/6!+

函數接口定義:

double funcos( double e, double x );

其中用戶傳入的參數為誤差上限e和自變量x;函數funcos應返回用給定公式計算出來、並且滿足誤差要求的cos(x)的近似值。輸入輸出均在雙精度范圍內。

裁判測試程序樣例:

#include <stdio.h>
#include <math.h>

double funcos( double e, double x );

int main()
{    
    double e, x;

    scanf("%lf %lf", &e, &x);
    printf("cos(%.2f) = %.6f\n", x, funcos(e, x));

    return 0;
}

/* 你的代碼將被嵌在這里 */

輸入樣例:

0.01 -3.14

輸出樣例:

cos(-3.14) = -0.999899
#include <stdio.h>
#include <math.h>

double funcos( double e, double x ){

    double item=1.0,cosx=1.0,fenzi=1.0,fenmu=1.0;
    int flag,i;
    flag=-1;
    for(i=2;fabs(item)>=e;i+=2)
    {
        fenmu*=(i*(i-1));
        fenzi*=(x*x);
        item=1.0*flag*fenzi/fenmu;
        cosx+=item;
        flag*=-1;
    }
    return cosx;

}

int main()
{    
    double e, x;
    scanf("%lf %lf", &e, &x);
    printf("cos(%.2f) = %.6f\n", x, funcos(e, x));
    return 0;
}

 


免責聲明!

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



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