二、簡單應用題
請編寫函數(shù)fun(),其功能是計算并輸出下列多項式值
Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!
例如:從鍵盤輸入15,則輸出為s=2.718282。
注意:部分源程序以存在文件kt17_2.cpp中。
請勿改動主函數(shù)main和其他函數(shù)中的內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
文件kt17_2.cpp的內(nèi)容如下:
#include
#include
doublefun(intn)
{
}
voidmain()
{ int n;
doubles;
cout<<"Inputn:"< cin>>n; s=fun(n); cout<<"s="< 【參考答案】 double fun(int n) { double t,sn=1.0; int i,j; for(i=1;i<=n;i++) { t=1.0; for(j=1;j<=i;j++) t*=j; sn+=1.0/t; } return sn; } 【試題解析】 本題解法是通過觀察所給的多項式,可以找出該多項式相應的數(shù)學規(guī)律。本題中,多項式是一個累加求和的多項式,并且每一項總是比前一項多乘一個整數(shù),所乘整數(shù)恰好等于每一項的編號,這樣利用循環(huán)語句進行階乘、累加就可以實現(xiàn)功能。由于函數(shù)中出現(xiàn)了"/"的運算,所以最終的函數(shù)值要考慮到用double類型。
2010下半年計算機等級考試保過模擬光盤熱銷中
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |