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中儲存為 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... cpu功耗以及發熱量測試結果。功耗大小以及發熱量高低,對於高階cpu的正常工作和穩定執行,有著非常重要的影響。由於x2 6000 和fx 32均支援amd cpu特有的 cool n quiet 技術,而兩款 core 2 duo 系列cpu則都具有增強型節能技術。這裡我們將針對 開啟節能技術 關閉... 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和...Matlab用二分法求方程先x 3 3 x 2 e x 0的實根,要求精度e
x2 6000 和酷睿2 E6600哪個好??
設實數x y滿足不等式組1 x y 4和y 2 2x