c语言两个一元多项式相乘编程
作者:野牛程序员:2023-07-27 07:25:24C语言阅读 2861
在C语言中,两个一元多项式的相乘可以通过创建一个结构体来表示多项式,然后编写相应的函数来实现相乘操作。以下是一个简单的C语言程序,用于实现两个一元多项式的相乘:
#include <stdio.h>
#include <stdlib.h>
// 结构体表示一元多项式的项
struct PolynomialTerm {
int coefficient;
int exponent;
};
// 结构体表示一元多项式
struct Polynomial {
int num_terms;
struct PolynomialTerm *terms;
};
// 函数用于输入多项式
void inputPolynomial(struct Polynomial *poly) {
printf("输入多项式的项数:");
scanf("%d", &poly->num_terms);
poly->terms = (struct PolynomialTerm*)malloc(poly->num_terms * sizeof(struct PolynomialTerm));
printf("依次输入多项式的系数和指数:\\n");
for (int i = 0; i < poly->num_terms; i++) {
printf("系数 %d: ", i + 1);
scanf("%d", &poly->terms[i].coefficient);
printf("指数 %d: ", i + 1);
scanf("%d", &poly->terms[i].exponent);
}
}
// 函数用于输出多项式
void printPolynomial(struct Polynomial poly) {
for (int i = 0; i < poly.num_terms; i++) {
printf("%dx^%d ", poly.terms[i].coefficient, poly.terms[i].exponent);
if (i < poly.num_terms - 1) {
printf("+ ");
}
}
printf("\\n");
}
// 函数用于计算两个多项式的乘积
struct Polynomial multiplyPolynomials(struct Polynomial poly1, struct Polynomial poly2) {
struct Polynomial result;
result.num_terms = poly1.num_terms * poly2.num_terms;
result.terms = (struct PolynomialTerm*)malloc(result.num_terms * sizeof(struct PolynomialTerm));
int idx = 0;
for (int i = 0; i < poly1.num_terms; i++) {
for (int j = 0; j < poly2.num_terms; j++) {
result.terms[idx].coefficient = poly1.terms[i].coefficient * poly2.terms[j].coefficient;
result.terms[idx].exponent = poly1.terms[i].exponent + poly2.terms[j].exponent;
idx++;
}
}
return result;
}
int main() {
struct Polynomial poly1, poly2, product;
printf("输入第一个多项式:\\n");
inputPolynomial(&poly1);
printf("输入第二个多项式:\\n");
inputPolynomial(&poly2);
printf("第一个多项式:");
printPolynomial(poly1);
printf("第二个多项式:");
printPolynomial(poly2);
product = multiplyPolynomials(poly1, poly2);
printf("两个多项式的乘积:");
printPolynomial(product);
// 释放内存
free(poly1.terms);
free(poly2.terms);
free(product.terms);
return 0;
}在这个程序中,使用了结构体来表示多项式的项和整个多项式。函数inputPolynomial用于输入多项式的项,printPolynomial用于输出多项式,multiplyPolynomials用于计算两个多项式的乘积。程序先输入两个多项式,然后计算它们的乘积并输出结果。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:少儿编程之c++输出两个数相乘
- 下一篇:c语言两个矩阵相加
