二、簡(jiǎn)單應(yīng)用題
編寫函數(shù)fun(),它的功能是利用以下所示的簡(jiǎn)單迭代方法求方程cos(x)-x=0的一個(gè)實(shí)根。
xn+1=cos(xn)
迭代步驟如下:
(1)取x1初值為0.0。
(2)x0=x1,把x1的值賦給x0。
(3)x1=cos(x0),求出一個(gè)新的x1。
(4)若x0-x1的絕對(duì)值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2)。
(5)所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,做為函數(shù)值返回。
程序輸出結(jié)果Root=0.739085。
注意:部分源程序已存在文件kt6_2.cpp中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。
文件kt6_2的內(nèi)容如下:
#include
#include
#include
floatfun()
{
}
voidmain()
{cout<<"Root="<
【參考答案】
float fun()
{
float x1=0.0,x0;
do
{ x0=x1;
x1=cos(x0);}
while(fabs(x0-x1)>=1e-6);
return x1;
}
【試題解析】
解答本題的關(guān)鍵之處在于看清題中所給的“迭代步驟”,同時(shí)要理解xn+1=cosxn通式的含義,要考慮到x1的初值為0.0。
相關(guān)推薦:
2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |