问题 问答题

下列程序的功能是:利用以下所示的简单迭代方法求方程: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 writeDat()

FILE*wf;
wf=fopen("OUT.DAT","w");
fprintf(wf,"%f\n",countValue());
fclose(wf);

main()

printf("实根=%f\n",countValue());
printf("%f\n",cos(countValue())-countValue());
writeDat();

答案

参考答案:

float eountValue()

float X0,XA=0.0; /*取XA初值为0.0*/

while(A)

X0=XA; /*把XA的值赋给X0*/

XA=(float)cos(X0); /*求出一个新的XA*/

if(fabs(X0-XA)<Ae-F)

break; /*若X0=XA的绝对值小于0.00000A(即Ae-F),则退出循环*/

}

return XA;

}

单项选择题 A1/A2型题
单项选择题