当前位置 :
【问一个C++迭代法求一个数平方根的问题我编的这个程序对大于1的数有用,对小数没有用.请问问题出在哪里.怎么破.#includeusingnamespacestd;doublemysqrt(doublea){doublex=(a>1?1:0),y=a,z;while(1){z=(x+y)/2;cout】
 更新时间:2024-04-27 05:11:00
1人问答
问题描述:

问一个C++迭代法求一个数平方根的问题

我编的这个程序对大于1的数有用,对小数没有用.请问问题出在哪里.怎么破.

#include

usingnamespacestd;

doublemysqrt(doublea)

{

doublex=(a>1?1:0),y=a,z;

while(1)

{z=(x+y)/2;cout

侯启槟回答:
  如果一个数大于1,那么它的平方根肯定在1和它本身之间,你这么不停地迭代是可以的;   但是如果一个数小于1,那么它的平方根比它本身大,这个数字在它本身和1之间;而按你这句话:   doublex=(a>1?1:0),y=a,z;   你把这个数字限制在了0和它本身之间,那再怎么迭代肯定也迭代不到结果了.   为了不改后面的程序,你只要把第一句改成这样就OK,把结果限制在0和1之间迭代.   doublex=(a>1?1:0),y=(a>1a:1),z;
最新更新
热门其它
查询网(393r.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

邮箱:  联系方式:

Copyright©2009-2021 查询网 393r.com 版权所有 闽ICP备2021002823号-6