求学网 > 新闻中心 > 计算机考试 > 计算机等级考试 > 试题集锦 > 2006年9月全国等级考试三级c语言上机题库(二十一)

2006年9月全国等级考试三级c语言上机题库(二十一)

文章来源: 作者: 更新时间:2006-12-6 关键字:计算机

题目21(无忧id 53 迭代方法求方程题)

 

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

部分源程序已给出。

请勿改动主函数main()和输出数据函数writeDat()的内容。

#include <conio.h>

#include <math.h>

#include <stdio.h>

 

float countValue()

{ double x0,x1;

x1=0.0;

do{ x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=0.000001);

return x1;

}

 

main()

{

clrscr();

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

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

writeDat();

}

 

writeDat()

{

FILE *wf;

 

wf=fopen("OUT17.DAT","w");

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

fclose(wf);

}