请编写函数findRoot(),其功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。
迭代步骤如下:
(1)取x1初值为0.0。
(2)把x1的值赋给x0,即x0=x1。
(3)求出一个新的x1,即x1=cos(x0)。
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2)。
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
函数writeData()负责把结果输出到OUT.DAT文件中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeData()的内容。
试题程序:
#include<stdlib.h>
#include<math.h>
#include<stdio.h>
void writeData();
float findRoot()
float x1=0.00,x0;
int i=0;
do
x0=x1;//将x1的值赋给x0
x1=cos(x0);//得到一个新的x1的值
while(fabs(x1-x0)>0.000001);//如果
误差比所要求的值大,则继续循环
return x1;
void main()
system("CLS");
printf("root=%f",findRoot());
writeData();
void writeData()
FILE*wf;
wf=fopen("OUT.DAT","w");
fprintf(wf,"%f",findRoot()):
fclose(wf);