02-线性结构2 一元多项式的乘法与加法运算 (20分)
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分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
求解思路
1.多项式表示
2. 程序框架
3. 读多项式
4. 加法实现:指数相同,系数相加
5. 乘法实现:指数相加,系数相乘
6. 多项式输出
#include<stdio.h>
#include<stdlib.h>
//链表的数据结构设计
typedef struct PolyNode *Polynomial;
struct PolyNode{
int coef;
int expon;
Polynomial link;
};
void Attach(int c,int e, Polynomial *pRear)
{
Polynomial P;
P=(Polynomial)malloc(sizeof(struct PolyNode));
P->coef=c;
P->expon = e;
P->link = NULL;
(*pRear)->link = P;
*pRear = P;
}
Polynomial ReadPoly()
{
Polynomial P,Rear,t;
int c,e,N;
scanf("%d",&N);
P

本文介绍了一种使用链表数据结构实现一元多项式的乘法和加法运算的方法。通过设计函数,输入多项式非零项,实现了指数递降方式的输出。详细解析了多项式的读取、加法和乘法的实现过程。
最低0.47元/天 解锁文章
2401

被折叠的 条评论
为什么被折叠?



