请合并写成完整的代码
时间: 2024-10-09 09:02:12 浏览: 6
当然可以,这里我将提供一元多项式加法的完整C语言代码示例,包括函数声明、实现和测试部分:
```c
#include <stdio.h>
// 定义一元多项式的数据结构
typedef struct {
int coefficients[MAX_DEGREE + 1]; // MAX_DEGREE+1是因为我们通常会考虑最高次数为MAX_DEGREE次
} Polynomial;
// 函数声明
void add_polynomial(Polynomial *poly1, Polynomial *poly2, Polynomial *result);
void print_polynomial(const Polynomial *poly);
// 函数实现
void add_polynomial(Polynomial *poly1, Polynomial *poly2, Polynomial *result) {
int sum_degree = (int)min(poly1->coefficients, poly2->coefficients) + 1;
for (int i = 0; i <= sum_degree; ++i) {
result->coefficients[i] = poly1->coefficients[i] + poly2->coefficients[i];
}
}
void print_polynomial(const Polynomial *poly) {
printf("Polynomial: ");
for (int i = 0; i <= MAX_DEGREE; ++i) {
if (poly->coefficients[i]) {
printf("%dx^%d + ", poly->coefficients[i], i);
}
}
printf("0\n");
}
// 测试代码
int main() {
Polynomial p1 = {1, 2, 3, 4}, q1 = {4, 3, 2, 1};
Polynomial r1;
add_polynomial(&p1, &q1, &r1);
print_polynomial(&r1);
return 0;
}
```
这个代码首先定义了一个`Polynomial`结构体来存储一元多项式的系数,然后分别实现了`add_polynomial`函数进行加法操作和`print_polynomial`函数用于打印多项式。在`main`函数中,我们创建了两个多项式并进行了相加,最后打印出结果。