根據條件求和題目: 從鍵盤上讀入任意一個0.0至5.0之間的double型變量x, 計算 x-x^2/2!+x^3/3!-……, 直到最后一項的絕對值小于 1e-5提示: (1)請復制下面語句輸出最后的和值: cout << "sum=" << sum << endl;(2)此題項數不確定,與初始讀入的x有關
2 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double x,eps=1e-5,sum=0,xtem,fac=1,xi=1,sign=1;
cout<<"please input x:\n";
cin>>x;
do{
xtem=sign*pow(x,xi)/fac;
sum+=xtem;
xi+=1.;
fac*=xi;//階乘
sign*=-1.;//符號
}while(fabs(xtem)>eps);
cout<<"sum="<<sum<<endl;
}
c++中沒有表示次方的運算符,求X的Y次方,一般調用數學函數庫中的pow函數,pow(X,Y),求絕對值是fabs函數

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
前面的輸入我就不寫了,主要就是循環
int i = 1;
while(true)//寫一個死循環,在循環內按他的要求退出
{
int nCur = x^i/i;
if(i % 2 == 0)
{
sum -= nCur;
}
else
{
sum += nCur;
}
if(nCur < 0)
{
nCur = 0 - nCur;
}
if(nCur < 1e -5)
{
break;
}
i++;
}
- 2 回答
- 0 關注
- 204 瀏覽
添加回答
舉報
0/150
提交
取消