一元多项式的求导c++代码
时间: 2023-11-02 20:06:19 浏览: 204
基于C++求解关于一元多项式的加法,减法,求导,乘法等运算是数据结构课程里的典型问题
下面是一元多项式的求导的 C++ 代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 定义一个结构体来表示多项式的每一项
struct Term {
int coef; // 系数
int exp; // 指数
};
// 多项式求导函数
vector<Term> derivative(vector<Term>& poly) {
vector<Term> result; // 存储求导后的多项式
// 遍历多项式的每一项,求导并加入到结果中
for (auto term : poly) {
if (term.exp > 0) { // 指数大于0才有导数
Term dTerm = {term.coef * term.exp, term.exp - 1};
result.push_back(dTerm);
}
}
return result;
}
// 输出多项式
void printPoly(vector<Term>& poly) {
for (int i = 0; i < poly.size(); i++) {
if (i > 0 && poly[i].coef > 0) cout << "+"; // 输出符号
cout << poly[i].coef;
if (poly[i].exp > 0) cout << "x^" << poly[i].exp; // 输出指数
}
cout << endl;
}
int main() {
// 定义一个多项式,这里用一个 vector 来存储多项式的每一项
vector<Term> poly = {{2, 3}, {4, 2}, {3, 1}, {5, 0}};
cout << "原多项式:";
printPoly(poly);
// 求导
vector<Term> dPoly = derivative(poly);
cout << "求导后的多项式:";
printPoly(dPoly);
return 0;
}
```
这个代码定义了一个 `Term` 结构体来表示多项式的每一项,然后用一个 vector 来存储整个多项式,`derivative` 函数接受一个多项式的 vector,返回求导后的多项式的 vector。最后通过 `printPoly` 函数来输出多项式的表达式。在 `main` 函数中,我们先定义一个多项式,然后调用 `derivative` 函数来求导,并分别输出原多项式和求导后的多项式。
阅读全文