标题:用迭代法求x
取消只看楼主
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
已结贴  问题点数:6 回复次数:0 
用迭代法求x
这个程序是正确的,用迭代法求x=sqrt(a)的程序。
#include <stdio.h>
#include <math.h>
int main()
 {
     double x1,x2,a;
     scanf("%lf",&a);
     x1=a/2;
     x2=0.5*(x1+a/x1);
     while(fabs(x1-x2)>=1e-5)
     {
         x1=x2;
         x2=0.5*(x1+a/x1);        
     }
     printf("%lf",x2);
    return 0;
 }

但我自己写的时候,没有“ x2=0.5*(x1+a/x1); ”这一句,我就不明白为什么要在while循环外写一句这个赋值式子?直接进入while循环不好吗?
#include <stdio.h>
#include <math.h>
int main()
 {
     double x1,x2,a;
     
     scanf("%lf",&a);
     x1=a/2;

     while(fabs(x1-x2)>=1e-5)
     {
         
         x1=x2;
         x2=0.5*(x1+a/x1);        
     }
     printf("%lf",x2);
    return 0;
 }
搜索更多相关主题的帖子: include double return 
2017-02-16 22:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.764447 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved