任务:本程序是一个控制台程序,用户可以根据自己的需求输入两个一元多项式,并且能够实现显示两个多项式,再将这两个多项式相加,输出结果。
注意:本程序的输入需求是按照指数的从小到大进行输入,并且项数必须为正整数,指数需为整数,系数为双精度型且不能为0。
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define null 0
typedef struct PLNODE{
float dbCoef; //系数域
int nExpn; //指数域
struct PLNODE * next; //指针域
}*linklist,LNODE; //PLNODE为一个新类型(是一个结构体),linkList为指向这样的结构体的指针
//创建一个空链表
linklist intlink(){
linklist p; //空链表 p
p=(PLNODE*)malloc(sizeof(PLNODE));
p->next=NULL;
return p;
}
//创建一个非空链表
linklist creatlink(linklist p,float a[],int b[],int n){
linklist r,s; //非空链表 r,s
int i;
r=p;
for(i=0;i<n;i++){
s=(PLNODE*)malloc(sizeof(PLNODE));
s->dbCoef=a[i];
s->nExpn=b[i];
r->next=s;
r=s;
}
r->next=NULL;
return p;
}
//链表长度
int length(linklist p){
int n=0;
linklist q=p->next;
while(q!= NULL){