作业帮 > 综合 > 作业

C语言程序设计,用迭代法求根号a,公式为Xn+1=(1/2)(Xn+a/Xn)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 06:42:16
C语言程序设计,用迭代法求根号a,公式为Xn+1=(1/2)(Xn+a/Xn)
要求前后两次求出的X的差的绝对值小于10^-5.Xn初值可为a/2.用循环设计.
这很容易的啊
#include <stdio.h>
#include <math.h>
double funcx( double x , double a) 
{
\x09double y;
\x09if ( x==0 )
\x09\x09return 1;
\x09y=0.5*(x+ a/x ) ;//改此函数可以求各种迭代
\x09return y;
}
int main()
{
\x09double x1,x2,e=1e-5 ,a;
\x09printf("input a : ");
\x09scanf("%lf", &a );
\x09x2=1;
\x09do {
\x09\x09x1=x2;
\x09\x09x2=funcx( x1, a );
\x09} while( fabs(x2-x1) > e );
\x09printf("%g\n", x2 );
\x09return 0;
}