帮忙写个c程题!

来源:百度知道 编辑:UC知道 时间:2024/07/04 03:43:08
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程: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的一个实根作为函数值返回。
程序将输出结果Root=0.739058。

#include <stdio.h>
#include <math.h>
int main(void)
{float fun(float x1);
float x1=0.0;
float root;
root=fun(x1);
printf("root=%f\n",root);
}
float fun(float x1)
{float x0;
do
{x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>=0.000001);
return(x1);
}

这是我编的简易程序:
#include<stdio.h>
#include<math.h>
#define e 0.000001
void main()
{
float x0,x1;
x1=0;
x0=x1;
x1=cos(x0);
while(fabs(x0-x1)>=e)
{
x0=x1;
x1=cos(x0);
}
printf("%f\n",x1);

}
我运行的结果为0.739085,提问的老兄是不是结果写错了?