/实现n个多项式相乘/
#include “stdio.h”
const int N0=20; //常数: 多项式最多20个
typedef struct node{ //多项式的项(链表节点), 数据包含: 项的系数和指数, 下一项的指针.
int c, e; //c-系数(coefficient); e-指数(exponent)
struct node *next; //下一个多项式项的指针
}NP;
NP *createPoly(){ //创建一个多项式(对应一个多项式链表)
int c, e; //c-系数(coefficient); e-指数(exponent)
NP *head, p; //head-多项式头指针; p-游标指针
head=p=new NP; //初始化多项式的 头指针 & 游标指针
while( true ){
/(1)输入(获得)多项式’项’的数据[系数+指数]信息 */
scanf("%d%d", &c, &e); //输入多项式项 > 根据输入数据的特点: 系数+指数 紧接着出现!
if( c0 && e0 ){ //根据约定, 系数 & 指数 都为0, 则多项式输入结束
break;
}else if(c0){ //此多项式’项’的系数=0, 可以不需要次多项式’项’!
continue;
}
/*(2)多项式数据项有效, 则创建 多项式'项'(对应于链表节点)*/
p->next=new NP;
p=p->next;
/*(3)维护多项式项的数据信息*/
p->c=c;
p->e=e;
}
p->next=NULL; //多项式最后一个节点的 "