求迭代平方根 c++(基础)

img

img


输入数字后输出空格,我感觉我的逻辑没有问题啊(新入门)
求大佬帮忙检查一下
谭3.23

回答:我人傻了,下次希望能直接复制代码(歪头看代码,头痛),问题出在你的while循环,x2和x1的值,变化不对,仔细一看x1压根没变,所以跳不出循环,正确的迭代平方根求法如下:(计算方法(一门课)里面的题目)

#include<iostream>
#include<cmath>
using namespace std;

int main(){
    int a;
    double x2,x1,temp=1.0;
    cin>>a;
    do{
        x1=temp;
        x2=(x1+a/x1)/2.0;
        temp=x2;
    }while(fabs(x1-x2)>1e-5);
    cout<<x1<<endl;
}

img