二、簡(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)中填入所編寫的若干語句。
文件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。