二、簡單應(yīng)用題
請編寫函數(shù)fun(),其功能是計算并輸出當(dāng)x<0.97時下列多項(xiàng)式的值,直到∣Sn-Sn-1∣<0.000001為止。
Sn=1+0.5x+0.5(0.5-1)x2/2!+0.5(0.5-1)(0.5-2)x3/3!+…0.5(0.5-1)(0.5-2)…(0.5-n+1)xn/n!
例如:主函數(shù)從鍵盤給x輸入0.21后,則輸出為s=1.100000。
注意:部分源程序以存在文件kt18_2.cpp中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
文件kt18_2.cpp的內(nèi)容如下:
#include
#include
#include
doublefun(doublex)
{
}
voidmain()
{ doublex,s;
cout<<"Inputx:"< cin>>x; s=fun(x); cout<<"s="< 【參考答案】 double fun(double x) { double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do { s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++; }while(fabs(s1-s0)>=1e-6); return sum; } 【試題解析】 解答本題的關(guān)鍵是觀察所給的多項(xiàng)式,并從中找出變化規(guī)律。觀察得出,每一項(xiàng)分子的變化規(guī)律是每一項(xiàng)比前一項(xiàng)多乘一項(xiàng)“(0.5-n+1)*x”。分母的變化規(guī)律是每一項(xiàng)比前一項(xiàng)多乘一個n(即在不斷變化的各項(xiàng)的編號)。
2010下半年計算機(jī)等級考試保過模擬光盤熱銷中
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |