浙大版《C語言程式設計(第3版)》題目集 習題5-7 使用函式求餘弦函式的近似值
阿新 • • 發佈:2020-10-14
- - -》博主推薦,學生黨、程式設計師必備,點選檢視- - - >>>>>
熱門文章推薦
以下50道演算法程式設計題訪問量較大,包含常用語法,資料結構,解題思路等等,作為C語言學習者必練題目推薦給各位。創作不易,記得一鍵三連哦!!!
習題5-7 使用函式求餘弦函式的近似值
本題要求實現一個函式,用下列公式求cos(x)的近似值,精確到最後一項的絕對值小於e:cos(x)=x^0^ /0!−x^2^ /2!+x^4^ /4!−x^6^ /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
程式碼:
double funcos( double e, double x )
{
int i,j;
double temp1;
double temp2;
double temp;
double sum=0;
int l=1;
for(i=0;;i+=2)
{
if(i==0)
{
temp=1.0;
}
else
{
temp1=1;
temp2=1;
for(j=1;j<=i;j++)
{
temp1*=x;
temp2*=j;
}
temp=temp1/temp2;
}
sum+=(temp*l);
if(temp<e) break;
l=-l;
}
return sum;
}