酷代码 AI
菜单
服务商

C++实现:读入系数解一元二次方程,含代码及详细解释

```cpp #include <iostream> #include <iomanip> #include <cmath> int main() { double a, b, c; std::cin >> a >> b >> c; double delta = b * b - 4 * a * c; if (delta > 0) { double x1 = (-b + std::sqrt(delta)) / (2 * a); double x2 = (-b - std::sqrt(delta)) / (2 * a); std::cout << std::fixed << std::setprecision(2) << "x1=" << x1 << " x2=" << x2 << std::endl; } else if (delta == 0) { double x1 = -b / (2 * a); std::cout << std::fixed << std::setprecision(2) << "x1=" << x1 << std::endl; } else { std::cout << "No answer" << std::endl; } return 0; } ``` 代码解释: 1. 头文件包含: - `#include <iostream>`:用于输入输出操作。 - `#include <iomanip>`:用于设置输出的精度。 - `#include <cmath>`:用于数学计算,这里使用`sqrt`函数计算平方根。 2. 主函数: - 定义三个双精度浮点数`a`、`b`、`c`,用于存储用户输入的一元二次方程的系数。 - 使用`std::cin`从标准输入读取三个浮点数赋值给`a`、`b`、`c`。 - 计算判别式`delta = b * b - 4 * a * c`。 3. 判断判别式的值: - 如果`delta > 0`,说明方程有两个不同的实根,使用求根公式计算两个根`x1`和`x2`,并按照要求的格式输出,保留两位小数。 - 如果`delta == 0`,说明方程有一个实根,使用求根公式计算根`x1`,并按照要求的格式输出,保留两位小数。 - 如果`delta < 0`,说明方程没有实根,输出`No answer`。 4. 精度设置: - `std::fixed`:设置输出为固定点表示法。 - `std::setprecision(2)`:设置输出的小数位数为2。 5. 返回值: - 主函数返回0,表示程序正常结束。 ######[AI问答 | 594点数解答 | 2025-12-10 22:07:03]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]