77范文网 - 专业文章范例文档资料分享平台

一元稀疏多项式计算器源代码

来源:网络收集 时间:2019-04-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#include #include typedef struct node {

float coef; int exp;

struct node *next; }Lnode, *polynmial;

void create(polynmial &L); //输入并建立多项式L void display(polynmial L); //显示,输出多项式L void sort(polynmial &L); //多项式L按指数排序 void reverse(polynmial &L); //逆置 void select(); //用户选择加减操作

void add(polynmial La, polynmial Lb, polynmial &Lc); //多项式void subtract(polynmial La, polynmial Lb, polynmial &Ld); //多项式

void create(polynmial &L) //输入并建立多项式L {

int i, n;

static struct node *p; scanf(\

L = (struct node *)malloc (sizeof(struct node)); L->next = NULL; for(i = 0; i < n; i++) {

p = (struct node *)malloc(sizeof(struct node)); scanf(\ p->next = L->next; L->next = p; } }

void display(polynmial L)//显示,输出多项式L {

struct node *p, *q; int flag = 0; int k = 0; q = L->next; while(q) {

if(q->coef != 0) k++;

q = q->next;

La,Lb相加

La减去LbLd ,结果给

}

printf(\p = L->next; if(p->coef != 0) {

printf(\ flag++; }

for(p = p->next; p; p = p->next) {

if(p->coef != 0) {

printf(\ flag++; } }

if(flag == 0)

printf(\else

printf(\}

void sort(polynmial &L)//多项式L按指数排序 {

polynmial p, q, r, u; p = L->next;

L->next = NULL; while(p != NULL) {

r = L;

q = L->next;

while((q != NULL) && (q->exp <= p->exp)) {

r = q;

q = q->next; }

u = p->next; r->next = p; p->next = q; p = u; } }

void reverse(polynmial &L)//逆置

{

polynmial H;

static struct node *p, *q, *s;

H = (struct node*)malloc(sizeof(struct node)); H->next = NULL;

p = (struct node*)malloc(sizeof(struct node)); s = L->next;

p->coef = s->coef; p->exp = s->exp; p->next = s->next; while(s) {

p->coef = s->coef; p->exp = s->exp; p->next = s->next; q = H->next; H->next = p; p->next = q;

p = (struct node*)malloc(sizeof(struct node)); s = s->next; }

p = H->next; q = L->next; while(p) {

q->coef = p->coef; q->exp = p->exp; q = q->next; p = p->next; } }

void select() //用户选择加减操作 {

printf(\请选择加减操作\\n\

printf(\两个一元多项式相加\\n\printf(\两个一元多项式相减\\n\}

void add(polynmial La, polynmial Lb, polynmial &Lc)//{

struct node *pa, *pb; static struct node *pc;

Lc = (struct node*)malloc(sizeof(struct node));

La,Lb多项式相加

pa = La->next; pb = Lb->next; Lc->next = NULL; while(pa && pb) {

pc = (struct node*)malloc(sizeof(struct node)); if(pa->exp < pb->exp) {

pc->next = Lc->next; Lc->next = pc;

pc->coef = pa->coef; pc->exp = pa->exp; pa = pa->next; } else

if(pa->exp == pb->exp) {

pc->next = Lc->next; Lc->next = pc; pc->exp = pa->exp;

pc->coef = pa->coef + pb->coef; pa = pa->next; pb = pb->next; } else {

pc->next = Lc->next; Lc->next = pc;

pc->coef = pb->coef; pc->exp = pb->exp; pb = pb->next; } }

while(pa) {

pc = (struct node*)malloc(sizeof(struct node)); pc->next = Lc->next; Lc->next = pc;

pc->coef = pa->coef; pc->exp = pa->exp; pa = pa->next; }

while(pb) {

pc = (struct node*)malloc(sizeof(struct node)); pc->next = Lc->next; Lc->next = pc;

pc->coef = pb->coef; pc->exp = pb->exp; pb = pb->next; } }

void subtract(polynmial La, polynmial Lb, polynmial &Ld)//多项式{

struct node *pa, *pb; static struct node *pd;

Ld = (struct node*)malloc(sizeof(struct node)); pa = La->next; pb = Lb->next; Ld->next = NULL; while(pa && pb) {

pd = (struct node*)malloc(sizeof(struct node)); if(pa->exp < pb->exp) {

pd->next = Ld->next; Ld->next = pd;

pd->coef = pa->coef; pd->exp = pa->exp; pa = pa->next; } else

if(pa->exp == pb->exp) {

pd->next = Ld->next; Ld->next = pd; pd->exp = pa->exp;

pd->coef = pa->coef - pb->coef; pa = pa->next; pb = pb->next; } else {

pd->next = Ld->next; Ld->next = pd;

pd->coef = pb->coef; pd->exp = pb->exp;

La减去Lb,结果给Ld

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库一元稀疏多项式计算器源代码在线全文阅读。

一元稀疏多项式计算器源代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/598968.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: