一元多项式的输入输出C++代码
时间: 2024-10-12 18:02:14 浏览: 39
在C++中,一元多项式通常表示为一个数组或向量,其中元素代表系数,第一个元素通常是常数项。下面是一个简单的例子,展示了一元多项式的输入以及计算值的基本操作:
```cpp
#include <iostream>
#include <vector>
// 定义多项式类
class Polynomial {
private:
std::vector<double> coefficients; // 系数数组
public:
// 构造函数,添加常数项
Polynomial(double c) : coefficients(1, c) {}
// 添加新的项到多项式
void addTerm(double coefficient, double exponent) {
coefficients.push_back(coefficient);
coefficients.push_back(exponent);
}
// 计算多项式在某点x的值
double evaluateAt(double x) const {
double result = coefficients[0]; // 常数项
for (size_t i = 1; i < coefficients.size(); i += 2) { // 每隔一项是一个系数和指数
result *= x;
result += coefficients[i];
}
return result;
}
// 打印多项式
void print() const {
std::cout << "Polynomial: ";
for (const auto& coeff : coefficients) {
if (coeff == 0)
continue;
std::cout << coeff << "x^" << coefficients[i+1] << " + ";
}
if (!coefficients.empty())
std::cout << coefficients.back() << std::endl;
}
};
int main() {
Polynomial p(1); // 创建一个常数项为1的多项式
p.addTerm(2, 2); // 添加 x^2 的项
p.addTerm(-3, 1); // 添加 -3x 的项
p.print(); // 输出多项式
double x = 2;
double value = p.evaluateAt(x); // 计算在x=2处的值
std::cout << "Value at x=" << x << ": " << value << std::endl;
return 0;
}
```
阅读全文