課程首頁地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【項目2擴展之2(選做)】計算下面的式子,不能使用求冪函數pow()
式一:
#include <iostream>
using namespace std;
int main( )
{ int i,m=1; //m表示2的冪,1為2的0次冪,與循環相符double sum=0, s=1.0; //s直接取double型,保證除的結果是浮點型for(i=0;i<=8;++i){sum=sum+s/m;//一樓指出的錯誤表達式是sum=sum+s*i/m;m*=2; //2的i次冪由此計算得到s=-s; }cout<<"sum="<<sum<<endl;return 0;
}
思考:本題只累加了9次,如果照此累加20次,會產生什么問題,如何處理?式二:

#include <iostream>
using namespace std;
int main( )
{ int i,f=1; //f表示加數分母上的階乘,初值1為1的階乘double sum=0, s=1.0; //s直接取double型,保證除的結果是浮點型for(i=1;i<=9;++i){f*=i; //計算得到i的階乘sum=sum+s/f;//1樓指出的錯誤表達式是sum=sum+s*i/f;s=-s; }cout<<"sum="<<sum<<endl;return 0;
}