文件名称:
C++多项式的和为你们提供的也为自己提供
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2010-04-22
详细说明: #include #include #include typedef struct polynode { int coef; //多项式的系数 int exp; //指数 struct polynode *next; }node; node *create() //用尾插法建立一元多项式的链表 { node *h,*r,*s; int c,e; h=(node*)malloc(sizeof(node)); r=h; printf("coef:"); scanf("%d",&c); printf("exp: "); scanf("%d",&e); while(c!=0) //输入系数为0时,多项式的输入结束 { s=(node*)malloc(sizeof(node)); s->coef=c; s->exp=e; r->next=s; r=s; printf("coef:"); scanf("%d ",&c); printf("exp: "); scanf("%d",&e); } r->next=NULL; return(h); } void print(node *p) //输出函数,打印出一元多项式 { while(p->next!=NULL) { p=p->next; printf(" %d*x^%d",p->coef,p->exp); } } void polyadd(node *ha, node *hb)//一元多项式相加函数,用于将两个多项式相加,然后将和多项式存放在多项式ha中,并将多项式hb删除 { node *p,*q,*pre,*temp; int sum; p=ha->next; q=hb->next; pre=ha; while(p!=NULL&&q!=NULL) { if(p->expexp) { pre->next=p; pre=pre->next; p=p->next; } else if(p->exp==q->exp) { sum=p->coef+q->coef; if(sum!=0) { p->coef=sum; pre->next=p;pre=pre->next;p=p->next; temp=q;q=q->next;free(temp); } else //如果系数和为零,则删除结点p与q,并将指针指向下一个结点 { temp=p->next;free(p);p=temp; temp=q->next;free(q);q=temp; } } else { pre->next=q; pre=pre->next; q=q->next; } } if(p!=NULL) //将多项式A中剩余的结点加入到和多项式中 pre->next=p; else pre->next=q; } void multipoly(node *ha,node *hb) { node *p,*q,*n,*m; p=ha->next; n=(node*)malloc(sizeof(node)); n->next=NULL; while(p!=NULL) { m=(node*)malloc(sizeof(node)); for(q=hb->next;q;q=q->next) { m->coef=p->coef*q->coef; m->exp=p->exp+q->exp; m->next=NULL; } p=p->next; polyadd(n,m); } printf("多项式的积是:\n"); print(n); } void main() { node *ha,*hb; printf("请输入多项式ha的系数与指数:\n"); ha=create(); print(ha); printf("\n"); printf("请输入多项式hb的系数与指数:\n"); hb=create(); print(hb); printf("\n"); printf("多项式的和是:\n"); polyadd(ha,hb); print(ha); printf("\n"); multipoly(ha,hb); } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.