一元多項式的各種操作

2021-06-23 04:26:40 字數 2975 閱讀 9899

歷時乙個星期,時間確實也花了不少。vc++ 好蛋疼。

「a.h」

#include

#include

#include

#define true 1

#define  false 0

#define ok 1

#define error 0

typedef int status;

typedef struct   elemtype;

typedef struct lnodelnode ,*link,*position;

typedef struct linklist linklist;

"b.c"

見上兩篇。

「c.h」

#include"a.h"

#include"b.c"

#include"c.c"

status orderinsertmerge(linklist *l,elemtype e,int (*compare)(term,term)); 

//按有序函式compare()約定,將值為e的節點插入或合併到公升序l的適當位置

int cmp(elemtype a,elemtype b);

//依a的指數值

void creatpolyn(polyn *p,int m);

//輸入m項的係數和指數,建立表示一元多項式的有序鍊錶p

void printpolyn(polyn p);

//列印輸出一元多項式p

void addpolyn1(polyn *pa,polyn *pb);

//多項式加法 pa=pa+pb,並銷毀一元多項式pb

void addpolyn2(polyn *pa,polyn *pb);

//另一種多項式加法 pa=pa+pb,並銷毀一元多項式pb

void opposite(polyn pa);

// 一元多項式係數取反

void subtractpolyn(polyn *pa,polyn *pb);

// 多項式減法 pa=pa-pb,並銷毀一元多項式pb

void multiplypolyn(polyn *pa,polyn *pb);

//多項式乘法pa=papb,並銷毀一元多項式pb

"c.c"

typedef linklist polyn;

#define destroypolyn destroylist

#define polynlength listlength

status orderinsertmerge(linklist *l,elemtype e,int (*compare)(elemtype,elemtype))

//按有序函式compare()約定,將值為e的節點插入或合併到公升序l的適當位置

return ok;

}else

else

return error;} 

int cmp(elemtype a,elemtype b)

//依a的指數值

void creatpolyn(polyn *p,int m)

//輸入m項的係數和指數,建立表示一元多項式的有序鍊錶p

}void printpolyn(polyn p)

//列印輸出一元多項式p

printf("*****************************\n");

}void addpolyn1(polyn *pa,polyn *pb)

//多項式加法 pa=pa+pb,並銷毀一元多項式pb

else

qa=qa->next;

delfirst(pb,hb,&qb);

free(&qb);

qb=nextposition(hb);

break;

case -1: ha=qa; 

qa=qa->next;

break;

case 1: delfirst(pb,hb,&qb);

infirst(pa,ha,qb);

ha=ha->next;

qb=nextposition(hb);

break;} }

destroylist(pb);

}void addpolyn2(polyn *pa,polyn *pb)

//另一種多項式加法 pa=pa+pb,並銷毀一元多項式pb

if(!pb)

destroylist(pb);

}void opposite(polyn pa)

// 一元多項式係數取反

}void subtractpolyn(polyn *pa,polyn *pb)

// 多項式減法 pa=pa-pb,並銷毀一元多項式pb

void multiplypolyn(polyn *pa,polyn *pb)

//多項式乘法pa=papb,並銷毀一元多項式pb

qb=qb->next;

} if(!pb)

destroylist(pb);

clearlist(pa);

(*pa).head=pc.head;

(*pa).tail=pc.tail;

(*pa).len=pc.len;

}"main.c"

#include "c.h"

int main()

{ polyn pa;

polyn pb;

creatpolyn(&pa,2);

printpolyn(pa);

creatpolyn(&pb,2);

printpolyn(pb);

multiplypolyn(&pa,&pb);

printpolyn(pa);

creatpolyn(&pb,2);

printpolyn(pb);

subtractpolyn(&pa,&pb);

printpolyn(pa);

接下來開始下一章節,堆疊。

一元多項式

一元多項式 功能 1 求解2個一元多項式的和 2 求解2個一元多項式的差 3 列印一元多項式 注 3 這個本來不算是乙個功能,但是發現列印一元多項式的時候問題很多。例如 1x應該列印成 x,x 0不應該應該列印出來 1.結點的定義 typedef struct polynomial polynomi...

一元多項式

include include using namespace std 定義結構體 typedef struct polynode polynode,polylist 建立關於多項式結構體的單鏈表,以係數0結束輸入 polylist polycreate 尾插法建立單鏈表 rear next nul...

一元多項式求導

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 設計函式求一元多項式的導數。輸入格式 以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 以與輸入相同的格式輸出導數多項式非零項的係數和指數。數...