您好,欢迎来到六九路网。
搜索
您的当前位置:首页管理系统中计算机应用要上机吗,2009年10月管理系统中计算机应用是上机吗

管理系统中计算机应用要上机吗,2009年10月管理系统中计算机应用是上机吗

来源:六九路网

在某些方面 下列程序的功能是:利用以下所示的简单迭代方法求方程:

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( )把结果输出到文件out9.dat中。

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

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

试题程序:

#include

#include

#include

void writeDAT();

float countValue( )

{

}

void main( )

{

system("CLS");

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

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

writeDAT( );

}

void writeDAT( )

{

FILE *wf;

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

fprintf(wf,"%f\n",countValue( ));

fclose(wf);

}

给的答案如下,但是运行不了

【答案】

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; /*返回x1的值*/

}

【解析】在本题中,因为要求一个实数的余弦值,在结束迭代的时候要判断绝对值,所以这里要用到函数cos(double x )和fabs(double x )。先设一个条件永远为真的while循环结构,按照步骤提示,要先为x1取初值,将x1的值赋给x0,使x1=cos(x0),判断x0-x1的绝对值并将其作为强行退出循环的条件。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务