编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。
Xn+1=COS(Xn)
迭代步骤如下:
(1)取x1初值为0.0。
(2)x0=x1,把x1的值赋给x0。
(3)x1=cos(x0),求出一个新的x1。
(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序输出结果Root=0.739085。
注意:部分源程序已存在文件test6_2.cpp中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
文件test6_2的内容如下:
#include<conio.h>
#include<math.h>
#include<iostream.h>
float fun()
void main()
cout<<"Root="<<fun()<<endl;
参考答案:
float fun()
{ float xA=0.0,x0;
do
{ x0=xA;
xA=cos(x0);
}
while(fabs(x0-xA)>=Ae-F);
return xA;
}
解析:
解答本题的关键之处在于看清题中所给的“迭代步骤”,同时要理解xn+1=cosxn通式的含义,要考虑到x1的初值为0.0注意:fabs()函数的功能是用来求某数的绝对值,用时要进行文件包含#include<math.h>。