輸入精度e和實數x,用下列公式求cos x的近似值,精確到最後一項的絕對值小於e。c語言程式設計,求解啊

時間 2022-03-08 13:55:15

1樓:我是比丘猴

樓主你好

改動比較多,修改後的**如下:

#include

#include

double fun(double x,double e);//我把宣告都放外面了

double fun2(double i); //多宣告了乙個fun2,用於計算階乘

int main(void)

double fun(double x,double e)

return sum;

} double fun2(double i) //用來計算階乘的函式fun2

return sum;

} 輸入1和0.001,輸出為0.540~

至於迴圈那裡,我採用了for迴圈,其實可以用你原來的迴圈的,不過考慮到變數的範圍問題,還是盡量計算小一點的數,畢竟如果角度是50 60之後,高次方多幾次就不是小數字了~~所以適用範圍還是小角度的好。如果不符合樓主你的意思,你可以在此基礎上再改進~~

希望樓主能看明白~祝樓主學習進步~~

2樓:匿名使用者

迴圈結構中item是個定值 沒有重新賦值 所以一直滿足迴圈條件 陷入死迴圈

建議裡面給item重新賦值

3樓:

#include

#include

// 這個函式需要返回 double 型別,不然結果很快就溢位了double f(int n)

double funcos(double e,double x)return cos;

}int main()

c語言:輸入精度e 和實數x,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e。

4樓:匿名使用者

#include

#include

double funcos(double x,double e);

int main(void)

double funcos(double x,double e)sum/=fact;

result=result+flag*sum;

if(sum

break;

flag=-flag;

}return result;}

【問題描述】 輸入精度e和實數x,用下列公式求cos x的近似值,精確到最後一項的絕對值小於e。

5樓:it孤鶩

#include

#include

int main(void)

double x, e,cosx;

double funcos(double e,int x);

printf("e: ");

scanf("%lf",&e);

printf("x: ");

scanf("%lf",&x);  //這裡是%lfcosx=funcos(e,x);

printf("cos(x)=%.3f\n",cosx);

return 0;

double funcos(double e,int x)int flag,a,i;

double sum,item;

double fact(int n);

item=1;  //這個初始化要大於e,否則不執行下面flag=1;

a=0;

i=0;

sum=0;

while(fabs(item)>=e){item=(flag*pow(x,a))/fact(i);

sum=sum+item;

flag=-flag;

a=a+2;

i=i+2;

return sum;

double fact(int n)

int i;

double result;

result=1;

for(i=1;i<=n;i++){

result=result*i;

return result;

6樓:匿名使用者

更更改之後的**,注釋部分為你原來的。

#include

#include

int main(void)

double funcos(double e,/*int*/ double x)

return sum;

}double fact(int n)

return result;}

7樓:來自飛英塔談笑風生的波斯貓

隨便寫寫試試

double funcos(double e, double x)return r;

}希望採納

輸入精度e 和實數x,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e。

8樓:魯步友卉

隨便寫寫試試

double funcos(double e, double x)return r;}

9樓:

程式執行沒報錯?,fact函式計算階乘功能未實現,product沒初始,則預設為0,而且i從0開始,計算出的a階乘永遠是0,funcos中fact(i)作為除數了

10樓:匿名使用者

#include

#include

double funcos(double x,double e)return s;

}main()

。。輸入精度e 和實數x,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e。

11樓:我是比丘猴

樓主你好

改動比較多,修改後的**如下:

#include

#include

double fun(double x,double e);//我把宣告都放外面了

double fun2(double i); //多宣告了乙個fun2,用於計算階乘

int main(void)

double fun(double x,double e)

return sum;

} double fun2(double i) //用來計算階乘的函式fun2

return sum;

} 輸入1和0.001,輸出為0.540~

至於迴圈那裡,我採用了for迴圈,其實可以用你原來的迴圈的,不過考慮到變數的範圍問題,還是盡量計算小一點的數,畢竟如果角度是50 60之後,高次方多幾次就不是小數字了~~所以適用範圍還是小角度的好。如果不符合樓主你的意思,你可以在此基礎上再改進~~

希望樓主能看明白~祝樓主學習進步~~

12樓:匿名使用者

temp=temp*i; temp 一直是0 沒變

程式設計計算e的近似值,直到最後一項的絕對值小於10^-5時為止,輸出e的值並統計累加項數 5

13樓:墨汁諾

1、問題主要是型別的問題。因為a 是int型的,在計算的時候不轉型成浮點型是不對的(1/a=0)因此要寫成:

pi=pi+1.0/(2*a-1);

pi=pi-1.0/(2*a-1);

還有判斷條件:

while ((1.0/a)>1e-4);

另外,這個公式是pi/4所以為了得到要求的輸出,要寫:

printf("pi = %f\ncount = %d\n",pi*4,a);

2、#include

main()

while(i<8000);

pi*=4;

printf("%lf\n",pi);}

c語言程式設計:輸入精度e和實數x,用下列公式求cos x的近似值,精確到最後一項的絕對值小於e。

14樓:格仔控

這個是用n階麥克勞林公式求函式值,我馬上幫你寫。

麻煩採納,謝謝!

c語言 輸入精度e 和實數x,用下列公式求cos x 的近似值,精確到最後一項的絕對值小於e。

15樓:數學趣味益智題

#include //標頭檔案置頂

#include

double fact(int n)

double s = 1;

for(int i = 1; i <= n; i++)s *= i;

return s;

double funcos(double e,int x)//運算次序要理清

double cos  = 0;

double item = 1;

int       i = 0;

int    flag = 1;

while(abs(item) >= e)item = flag * pow(double (x), 2 * i) / fact(2 * i);

cos += item;

flag *= -1;

i++;

return cos;

int main()

int    x = 0;

double e = 0;

printf("e: ");

scanf("%lf",&e);

printf("x: ");

scanf("%d",&x);

printf("cos(x) = %.3lf\n",funcos(e, x)); //唯一的缺陷就是3必須隨e的變化手動改寫

return 0;

執行結果:

Matlab用二分法求方程先x 3 3 x 2 e x 0的實根,要求精度e

微生飛 源 在matlab中儲存為 demimethod.mfunction x,k demimethod a,b,f,emg a,b 求解區間的兩個端點 f 所求方程的函式名 emg 精度指標 x 所求近似解 k 迴圈次數 fa feval f,a fab feval f,a b 2 k 0 wh...

x2 6000 和酷睿2 E6600哪個好??

cpu功耗以及發熱量測試結果。功耗大小以及發熱量高低,對於高階cpu的正常工作和穩定執行,有著非常重要的影響。由於x2 6000 和fx 32均支援amd cpu特有的 cool n quiet 技術,而兩款 core 2 duo 系列cpu則都具有增強型節能技術。這裡我們將針對 開啟節能技術 關閉...

設實數x y滿足不等式組1 x y 4和y 2 2x

1 x y 4 1 x y 4 x 即直線y x 1和y x 4之間的區域,含兩線 1.2x 3 0即x 3 2時,y 2 2x 3,即y 2x 5 指x 3 2和y 2x 5之間的區域,含兩線,y x 1和x 3 2交點a 3 2,1 2 y x 4和x 3 2交點b 3 2,5 2 y x 1和...