1樓:瀟凝君
不好意思,你這個程式有很多錯誤的地方,如10^(-6)在c++中的表示要嘛是呼叫庫"cmath.h"中的pow(10,-6),要嘛縮寫為1e-6;而且「e=e+f(i)」語句後面沒分號,這可能是你編譯不過的原因;還有就是你寫的f(i)函式並不能計算階乘的倒數,原因是
f(0)非法,至少y要初始化為1,而且t跟i你都是弄成整形的,y怎麼賦值都是0來的。但是由於你的判斷順序有些問題,所以就算把以上問題改過來你的**就更加面目全非了。為了**更簡潔一些,我幫你重新寫了乙個,希望對你有幫助:
#include
using namespace std;
int main()
2樓:匿名使用者
double 型 最多小數點後6位...所以存在精度問題...
就沒有想辦法了...
#include
using namespace std;
static const double min = 0.0000001;
int main()
cout<<"e="< 0; i--)
y=i*y;
return 1/y;}
3樓:隨風
#include
using namespace std;
double f(int i);//習慣上,把函式宣告放在主函式外面void main()
cout<<"e="<0;i--)
t=t*i; //y=1/(t*i);演算法理解錯誤,正解是1/(1*2*3*...*n).你這樣y最終永遠是1
y=1/(double)t;//主要錯誤:t是整數,整數除法運算只能得到整數,所以不能進行下去,讓它強制轉型
return y;}
4樓:匿名使用者
for(i=0;;i++)
while -->if
5樓:匿名使用者
#include
#include
double f(int );
void main()
這樣就ok了,只是引數設定,lz有誤。例如一開始申請的i~~~
C一道簡單的作業題
快樂程式設計師 include stdafx.h include iostream.h char lesson english math chinese physics 存放課程名稱 int lessonid 存放課程號char returnlesson int lessonid l if flat...
一道C 程式設計題,一道c 程式設計題
看了介面有返回值,就不敢直接動輸入 用了複製和記憶體釋放,然而我想多了.include char fun char str for i 0 i s str,text free text return 0 ggoi romndno good morningprocess returned 0 0x0 ...
一道C語言問題,一道c語言問題
看程式先看main函式 int a,b,c 定義了3個整型變數 然後分別呼叫了3次sub函式 再看sub函式 sub int x,int y,int z 因為c語言的函式呼叫過程中是在棧上開闢的記憶體空間,所以試圖對引數本身做的操作在函式被呼叫結束之後將無意義。所以該函式要對z變數進行操作所以要取其...