多项式加运算算法的代码
时间: 2023-04-05 08:01:46 浏览: 68
以下是多项式加运算算法的代码:
#include <stdio.h>
#include <stdlib.h>
#define MAX_DEGREE 100
typedef struct {
int coef[MAX_DEGREE + 1]; // 多项式系数
int degree; // 多项式次数
} Polynomial;
Polynomial add(Polynomial A, Polynomial B) {
Polynomial C;
int i;
for (i = 0; i <= MAX_DEGREE; i++) {
C.coef[i] = 0;
}
if (A.degree > B.degree) {
C.degree = A.degree;
} else {
C.degree = B.degree;
}
for (i = 0; i <= C.degree; i++) {
C.coef[i] = A.coef[i] + B.coef[i];
}
return C;
}
int main() {
Polynomial A, B, C;
int i;
A.degree = 3;
A.coef[0] = 1;
A.coef[1] = 0;
A.coef[2] = 2;
A.coef[3] = 3;
B.degree = 4;
B.coef[0] = 1;
B.coef[1] = 2;
B.coef[2] = 3;
B.coef[3] = 0;
B.coef[4] = 4;
C = add(A, B);
printf("A(x) = ");
for (i = A.degree; i >= 0; i--) {
printf("%d", A.coef[i]);
if (i > 0) {
printf("x^%d + ", i);
}
}
printf("\n");
printf("B(x) = ");
for (i = B.degree; i >= 0; i--) {
printf("%d", B.coef[i]);
if (i > 0) {
printf("x^%d + ", i);
}
}
printf("\n");
printf("C(x) = ");
for (i = C.degree; i >= 0; i--) {
printf("%d", C.coef[i]);
if (i > 0) {
printf("x^%d + ", i);
}
}
printf("\n");
return 0;
}