万能百科  > 所属分类  > 

下列程序的功能是:利用如下所示的简单迭代方法求方程cos(x)-x=0的一个实根。迭代式为:xn+1=cos(xn

下列程序的功能是:利用如下所示的简单迭代方法求方程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的一个实根,将其作为函数值返回。请编写函数countValue()来实现程序的要求,调用函数WRITEDAT(),把结果输出到文件OUT.DAT中。部分源程序已给出。请勿改动主函数main()和输出数据函数writeDAT()的内容。#include <conio.h>#include <math.h>#include <stdio.h> float countValue(){ } void main(){ clrscr(); printf("A=%f\n",countValue()); printf("%f\n",cos(countValue())-countValue()); writeDAT();} void writeDAT(){ FILE *wf; wf=fopen("out17.dat","w"); fprintf(wf,"%f\n",countValue()); fclose(wf);}

正确答案:

请参考解析【解析及答案】本题的任务是把函数countvalue() 补充完整。该函数利用迭代法求解方程。迭代法求解的过程就是先设置两个变量X0和X1,其中X1比X0更接近方程的解。为方程的初始解X1先赋予一个任意值,然后把X1赋予X0,把X0带入迭代式,求出的结果是比X0更接近方程的根的值。接着比较X0和X1差的绝对值,如果小于要求的精度,则X1就是方程的一个实根;否则,继续上述过程。由于上述过程具有反复迭代的特征,故称为迭代法。一般利用do…while循环比较容易实现上述算法。由上述过程可知,能够使用迭

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签