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

下列程序的功能是:利用以下所示的简单迭代方法求方程: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的绝对值将其作为强行退出循环的条件。
看了下列程序的功能是:利用以下所示...的网友还看了以下:

下列对课文内容的理解有误的一项()A.《走一步,再走一步》是过来人的经验之谈,在人生道路上,艰难险下 语文 2020-03-30 …

AB两市出租车收费标准为:A市出租车起步价为8元,3千米后每千米收费1.2元B市出租车起步价为6元 数学 2020-04-11 …

如图为植物体内的一系列代谢的过程示意图,请据图分析回答下列问题.(1)在甲图的叶绿体中,ADP的转 语文 2020-05-14 …

《伏尔加纤夫》是列宾在19世纪80年代初创作的油画杰作。酷烈的阳光下,荒芜的沙滩上,一群衣衫褴褛的 历史 2020-05-15 …

《九章算术》是我国古代数学名著,也是古代东方数学的代表作.书中有如下问题:“今有勾八步,股一十五步 数学 2020-06-13 …

3.这是一个特别的保险箱,打开它,需以一定顺序将每个按钮都按一次(只能一次),最后按的钮是F.钮上 物理 2020-06-26 …

一道难题这是一个特别的保险箱,打开它,需以一定顺序将每个按钮都按一次(只能一次),最后按的钮是F. 物理 2020-06-29 …

下列说法有误的一项是()A《散步》通过祖孙三代一家人在田野散步这个生活侧面,生动的展示了这一家互敬 语文 2020-07-05 …

下列对课文内容理解有误的一项是()A.《散步》通过选取祖孙三代一家人在田野散步这个生活侧面,生动地 语文 2020-07-05 …

历史学家陈旭麓指出:李鸿章是中国近代化迈出第一步的代表人物。李鸿章的下列活动与该主人无关的是A.镇 历史 2020-07-23 …