输入一元一次方程的ax+b=0的解。且数据均在double类型以内,且一定有解(保留2位小数) 输入格式: 两个整数,分别表示a和b的值。 输出格式: 一个数,为x的值,保留2位小数。 样例 1 : 输入: 2 6 输出: -3.00 由此写出一个c++代码
时间: 2024-10-03 20:04:34 浏览: 23
为了编写一个C++代码解决这个问题,我们可以创建一个函数`solveLinearEquation(double a, double b)`。这个函数会计算一元一次方程\( ax + b = 0 \)的解,并将结果四舍五入到两位小数。下面是对应的代码:
```cpp
#include <iostream>
#include <iomanip>
// 函数定义来求解一元一次方程
double solveLinearEquation(double a, double b) {
// 检查是否a为0,因为除数不能为0
if (a == 0) {
throw std::invalid_argument("系数a不能为0");
}
// 计算x的值
double x = -b / a;
// 保留两位小数并返回结果
return std::fixed << std::setprecision(2) << x;
}
int main() {
try {
int a, b;
std::cin >> a >> b; // 从用户输入获取a和b的值
// 转换为double类型
double input_a = static_cast<double>(a);
double input_b = static_cast<double>(b);
// 解方程并输出结果
double solution = solveLinearEquation(input_a, input_b);
std::cout << "输出: " << solution << "\n";
} catch (const std::exception& e) {
std::cerr << "错误: " << e.what() << '\n';
}
return 0;
}
```
样例 1 的运行:
输入:
```
2 6
```
输出:
```
-3.00
```
阅读全文