背景:
直接看题目把!就是C语言写两个多项式多项式合并
题目要求:
1. 题目: 编程实现只有一个未知数的两个多项式合并的程序。如: 3x^2+6x+7 和 5x^2-2x+9合并结果为8x^2+4x+16。
2. 设计要求
(1) 分析该程序中应使用哪种数据结构,
(2) 编写相应的程序。其功能要求:
(a) 多项式系数应该从键盘输入。
(b) 应以C语言为背景(即要自己构建所需要的数据类型(如线形表、栈等)的实现)。
(3)程序若拓展功能,不得超过2个,并在报告中明确说明。
(4)必须有代码及测试结果。
代码效果:
简单粗暴上效果图!
代码实现了动态获取多项式系数和指数,支持用户输入两个自定义参数,然后程序会合并用户输入的参数,给出运行结果。
主要代码:
所使用的结构体
//联系请加V:zew1040994588
struct Term {
int coefficient; // 系数
int exponent; // 指数
struct Term* next;
};
main函数
//联系请加V:zew1040994588
int main() {
Polynomial* poly1 = NULL;
Polynomial* poly2 = NULL;
Polynomial* result = NULL;
int coefficient, exponent;
printf("请输入第一个多项式的系数和指数(以-1 -1 结束输入):\n");
while (scanf("%d %d", &coefficient, &exponent) == 2 && (coefficient != -1 || exponent != -1)) {
insertTerm(&poly1, coefficient, exponent);
}
printf("请输入第二个多项式的系数和指数(以-1 -1 结束输入):\n");
while (scanf("%d %d", &coefficient, &exponent) == 2 && (coefficient != -1 || exponent != -1)) {
insertTerm(&poly2, coefficient, exponent);
}
mergePolynomials(poly1, poly2, &result);
printf("合并结果为:");
printPolynomial(result);
destroyPolynomial(poly1);
destroyPolynomial(poly2);
destroyPolynomial(result);
return 0;
}