用C语言实现两个一元多项式的相加
时间: 2024-09-06 21:05:11 浏览: 52
在C语言中,我们可以创建结构体来表示一元多项式,每个多项式的系数和次数作为结构体的成员。然后定义一个函数用于计算两个多项式的和。以下是简单的示例:
```c
#include <stdio.h>
// 定义一元多项式结构体
typedef struct {
int coef; // 系数
int exp; // 次数
} Polynomial;
// 函数用于计算两个多项式的和
Polynomial addPolynomials(Polynomial poly1, Polynomial poly2) {
if (poly1.exp > poly2.exp)
return poly1;
else if (poly2.exp > poly1.exp)
return poly2;
else {
Polynomial sum = {poly1.coef + poly2.coef, poly1.exp};
return sum;
}
}
// 打印多项式
void printPolynomial(Polynomial poly) {
printf("Poly(%d * x^%d)\n", poly.coef, poly.exp);
}
int main() {
Polynomial poly1 = {2, 1}; // 2x^1
Polynomial poly2 = {3, 0}; // 3x^0 (等同于3)
Polynomial result = addPolynomials(poly1, poly2);
printPolynomial(result); // 输出: Poly(5 * x^1)
return 0;
}
```
在这个例子中,我们首先检查哪个多项式的次数更高,然后将较低次的多项式与较高次的多项式相加,并更新结果。如果两者的次数相同,则直接相加系数。最后打印出加法的结果。
阅读全文