郑州轻工业大学2021-2022(2)数据结构习题集
6-1 7-1 一元多项式的乘法与加法运算
题目详情
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:
输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0
。
输入样例:
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
输出样例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
思路:
利用存有 系数 指数 两个数据和一个指针的单链表来存储每一项
实现attach
(连接每一项) readPoly
(读入每一个多项式) add
加 mul
乘 函数
具体实现解释如下:
我的答案:
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode* poly;
struct LNode
{
int coef; //系数
int exp; //指数
poly next; //指向下一个节点
};
poly attach(int coef, int exp, poly p) //连接函数 (没有操作p)
{
poly temp = malloc(sizeof(poly)); //申请空间
//读入系数指数
temp->coef = coef;
temp->exp = exp;
//尾元素的next指NULL