我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > C/C++星空(中国) > 帮忙修改下一元多项式相加程序
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

帮忙修改下一元多项式相加程序

138浏览 / 2回复

lcandlxandlq

lcandlxandlq

0
精华
1
帖子

等  级:Lv.1
经  验:17
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:湖南
  • 注  册:2009-12-11
  • 登  录:2014-07-12
发表于 2010-10-13 21:34:43
电梯直达 确定
楼主
帮忙修改下!自己一直找不出错误!感激不尽!#include using namespace std;typedef struct LNode{ int coef; //系数 int expn; //指数 struct LNode *next;}LNode,*polynomial;
void CreatPolyn(polynomial &p,int m){ int i,coef,expn; polynomial s; p=(polynomial)malloc(sizeof(LNode)); p->next=NULL; for(i=1;i<=m;i++) { s=(polynomial)malloc(sizeof(LNode)); scanf("%d,%d",&coef,&expn); s->coef=coef; s->expn=expn; s=p->next; s=s->next; }int cmp(polynomial,polynomial){ if(a->expn=b->expn) return 0; else(a->expnexpn) return -1; else return 1; }void AddPolyn(polynomial &a,polynomial &b,polynomial &c){ a=(polynomial)malloc(sizeof(LNode)); b=(polynomial)malloc(sizeof(LNode)); la=a->next; lb=b->next;  //la和lb分别指向a和b的头结点 c=(polynomial)malloc(sizeof(LNode)); lc=lc=a; while(la&&lb){ switch(*cmp(la,lb)){ case -1: //多项式Pa中当前结点的指数值小 lc->next=la; lc=la; la->next=la; break; case 0: //两者的指数值相等 sum=a->coef+b->coef; if(sum!=0){  //修改多项式Pa中当前结点的系数值 la->coef=sum; lc->next=la; lc=la; la->next=la; lb->next=lb; } else{ //删除多项式Pa中的当前结点 la->next= lb->next=; free(a); free(b); } case 1: //多项式PB中当前结点的指数值小 lc->next=lb; lc=lb; lb->next=lb; break; } } if(!lb) { lc->next=lb; //链接Pb中的剩余结点 lc=lb; lb->next=lb; free(lb); } else{ lc->next=la; lc=la; la->next=la; free(la); } }void Print(polynomial &L){ L=(polynomial)malloc(sizeof(LNode)); p=L->next; while(p) { printf("%d,%dn",p->coef,p->expn); p->next=p; }void main(){ LNode a,b,c; int m,n CreatPolyn(a,m); CreatPolyn(b,n); AddPolyn(a,b,c); Print(c);}

lucktty

lucktty


精华

帖子

等  级:Lv.1
经  验:36
发表于 2010-10-14 15:16:31 1楼
大哥你不能横着写啊

limons

limons


精华

帖子

等  级:Lv.4
经  验:2907
发表于 2010-10-29 19:13:46 2楼
看着太费劲
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表