简单用C++求多项式的和,保留两位小数
时间: 2024-09-17 17:07:26 浏览: 34
在C++中,计算多项式之和并保留两位小数可以借助结构体来存储系数和指数,然后使用动态数组或vector来存储多项式。下面是一个简单的示例,展示如何实现:
```cpp
#include <iostream>
#include <vector>
#include <iomanip>
// 定义多项式项结构体
struct PolynomialTerm {
double coefficient;
int exponent;
};
// 求多项式和的函数
double sumPolynomial(const std::vector<PolynomialTerm>& poly) {
double result = 0.0;
for (const auto& term : poly) {
result += term.coefficient * pow(10.0, term.exponent); // 乘以10^exponent便于后续四舍五入
}
// 四舍五入到两位小数
return std::fixed << std::setprecision(2) << result;
}
int main() {
std::vector<PolynomialTerm> polynomial;
polynomial.push_back({2.5, 1}); // x + 2.5
polynomial.push_back({1.3, 2}); // x^2 + 1.3
polynomial.push_back({4.7, 0}); // 常数项
double sum = sumPolynomial(polynomial);
std::cout << "Sum of the polynomials: " << sum << std::endl;
return 0;
}
```
在这个例子中,我们首先定义了一个`PolynomialTerm`结构体,用于存储每个多项式的系数和指数。然后,在`sumPolynomial`函数中,遍历多项式,并根据系数和指数计算总和。最后,使用`std::fixed`和`std::setprecision`确保结果只保留两位小数。