早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

下列程序的功能是:利用以下所示的简单迭代方法求方程: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()把结果输出到文件out41.dar中。

注意:部分源程序已给出。

请勿改动主函数main()和写函数writeDAT()的内容。

试题程序:

include<conio.h>

include<math.h>

include<stdio.h>

float countvalue( )

{

main ( )

{

clrscr( );

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

printf("%f\n",cos(countValue( ))countValue( ));

writeDAT( );

writeDAT( )

{

FILE *wf;

wf=fopen("out41.dat","w");

fprintf(wf,"%fln",countValue(

fclose(wf);

}

参考答案
正确答案:float countValue() { float x0x1=0.0; while(1) { x0=x1; /*将x1赋值给x0*/ x1=cos(x0); /*求出新的x1*/ if(fabs(x0-x1)1e-6)break; /*若x0-x1的绝对值小于0.000001则结束循环*/ } return x1; }
float countValue() { float x0,x1=0.0; while(1) { x0=x1; /*将x1赋值给x0*/ x1=cos(x0); /*求出新的x1*/ if(fabs(x0-x1)1e-6)break; /*若x0-x1的绝对值小于0.000001,则结束循环*/ } return x1; } 解析:本题考查的知识点如下:
(1)数学函数doublecos(doublex)及doublefabs(doublex)的使用。
(2)使用循环结构实现迭代。
在本题中,因为要求一个实数的余弦值,在结束迭代的时候要判断绝对值,所以这里要用到数学函数cos(doublex)和fabs(doublex)。先设一个条件永远为真的while循环结构,按照步骤提示,要先为x1取初值,将x1的值赋给x0,使xl=cos(x0),判断x0-x1的绝对值将其作为强行退出循环的条件。
看了下列程序的功能是:利用以下所示...的网友还看了以下:

李奶奶卖鸡蛋,第一次卖出篮中的一半又一个,第二次卖出第一次剩下的一半又一个,第三次卖出第二次剩下的一 其他 2020-03-30 …

一个农妇拉着一筐西瓜去卖,第一次卖掉了全部西瓜的一半又多半个.第二次又卖了剩下的一半又多半个,第三又 其他 2020-03-31 …

哪位高手知道那個木字下面加四个口是什么字,打全拼怎么打,下面四点像这个“霝”字的下面三个口一样…… 其他 2020-04-06 …

544÷4=.5个百除以4,商个百,余个百,余下的个百和十位上的个十合起来是个十;除以4,商个十, 其他 2020-04-07 …

六.一联欢会上,五年级和四年级共买气球200个.联欢会后,两个班剩下的气球个数相等.已知五年级用去 数学 2020-04-26 …

A市在B市的12km的位置,给B市发货的车以40km/时送货,以60km/时返回A市,往返1时10 数学 2020-04-27 …

1:有土能种米麦,有水能养鱼虾,有人不是你我,有马能行天下(打一字)2:顺序添数字按照下列顺序,下 数学 2020-05-13 …

童话扫弦怎么弹还有什么上上下下什么意思还有那个CAmDmGT3231323什么意思麻烦教下.最好能 其他 2020-05-14 …

伽利略在研究斜面上滚下的小球的运动时,得出的结论是:只要斜面的倾角相同,质量不同的小球滚下的加速度 物理 2020-05-16 …

交流电焊机输入5根接线柱电焊机输入有5个接线柱,其中最左面那个是地线,这个我知道,剩下4个我就不知 其他 2020-05-17 …