计算机等级考试二级C语言上机题21
分类: 计算机
时间: 2019-01-23 14:13:13
作者: 全国等级考试资料网
☆题目21下列程序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
#include
#include
float countvalue()
{ float x0,x1;
x1=0.0;
do{ x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>=0.000001);
return x1;
}
main()
{
clrscr();
printf("实根=%f ",countvalue());
printf("%f ",cos(countvalue())-countvalue());
writedat();
}
writedat()
{
file *wf;
wf=fopen("out17.dat","w");
fprintf(wf,"%f ",countvalue());
fclose(wf);
}
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
#include
#include
float countvalue()
{ float x0,x1;
x1=0.0;
do{ x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>=0.000001);
return x1;
}
main()
{
clrscr();
printf("实根=%f ",countvalue());
printf("%f ",cos(countvalue())-countvalue());
writedat();
}
writedat()
{
file *wf;
wf=fopen("out17.dat","w");
fprintf(wf,"%f ",countvalue());
fclose(wf);
}