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

学习 时间:2026-04-08 02:27:27 阅读:4709
C语言程序设计,用迭代法求根号a,公式为Xn+1=(1/2)(Xn+a/Xn)要求前后两次求出的X的差的绝对值小于10^-5.Xn初值可为a/2.用循环设计.

最佳回答

甜美的绿草

直率的花生

2026-04-08 02:27:27

这很容易的啊#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;}

最新回答共有2条回答

  • 俭朴的鼠标
    回复
    2026-04-08 02:27:27

    这很容易的啊#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;}

上一篇 几道不等式的题1 已知x>1,y>1 且lgx+lgy=4 x+y最小值2 已知a>0 b>0 且a+b=1 且(1/a

下一篇 卢瑟福对物理学的贡献是什么?