260 字
1 分钟
测试文章
2024-11-17

测试

二级目录#

三级目录#

#include <iostream>
#include <stdlib.h>
#include <cmath>

// 定义一个函数来计算平方根
double calculateSquareRoot(double a, double epsilon = 1e-5) {
    // 初始猜测值
    double x_n = a / 2.0;
    // 迭代求解
    while (true) {
        double x_n_plus_1 = 0.5 * (x_n + a / x_n);
        // 检查是否满足精度要求
        if (std::abs(x_n - x_n_plus_1) < epsilon) {
            return x_n_plus_1;
        }
        x_n = x_n_plus_1;
    }
}

int main() {
    double a;
    bool validInput = false; // 标记输入是否有效

    // 循环直到用户输入一个有效的正数
    while (!validInput) {
        std::cout << "请输入一个正数以计算其平方根: ";
        std::cin >> a;

        // 检查输入流状态,确保输入的是数字
        if (std::cin.fail()) {
            // 如果输入失败,重置输入流并忽略错误的输入
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cout << "错误:输入必须是正数,请重新输入。\n";
        } else if (a > 0) {
            validInput = true;
        } else {
            std::cout << "错误:输入必须是正数,请重新输入。\n";
        }
    }

    double result = calculateSquareRoot(a);
    std::cout << "平方根为: " << result << std::endl;

    system("pause");

    return 0;
}

Astro

测试文章
https://moiland.com/posts/1/
作者
沐澄
发布于
2024-11-17
许可协议
CC BY-NC-SA 4.0