多项式相加问题
来源:互联网 发布:aso优化 app推广下载 编辑:程序博客网 时间:2024/05/22 04:43
#include<stdio.h>
#include<stdlib.h>
typedef struct poly{
int coef;
int exp;
struct poly *next;
}polylink;
polylink *polylink_create(int n,int a[][2]){
polylink *h,*p,*q;
int i;
h=(polylink *)malloc(sizeof(polylink));
h->next=NULL;
p=h;
for(i=0;i<n;i++){
q=(polylink *)malloc(sizeof(polylink));
q->coef=a[i][0];
q->exp=a[i][1];
q->next=NULL;
p->next=q;
p=q;
}
return h;
}
void polylink_display(polylink *h){
polylink *p=h->next;
while(p){
printf("(%d %d)",p->coef,p->exp);
p=p->next;
}
printf("/n");
}
void polylink_add(polylink *h1,polylink *h2){
polylink *p,*q,*r;
p=h1->next;
q=h2->next;
r=h1;
while(p&&q){
if(p->exp<q->exp){
r->next=p;
r=p;
p=p->next;
}
else
if(p->exp>q->exp){
r->next=q;
r=q;
q=q->next;
}
else{
p->coef+=q->coef;
if(p->coef){
r->next=p;
r=p;
}
p=p->next;
q=q->next;
}
}
if(p==NULL)
r->next=q;
else
r->next=p;
}
int main(){
int a[][2]={{5,0},{2,1},{8,8},{3,16}};
int b[][2]={{6,1},{23,6},{-8,8}};
polylink *h1,*h2;
h1=polylink_create(4,a);
h2=polylink_create(3,b);
polylink_add(h1,h2);
polylink_display(h1);
return 0;
}
- 多项式相加问题
- C语言一元多项式相加问题
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- Joomla单元管理
- 关于Myclipse和Jboss调试过程中内存溢出问题的解决
- Android多媒体学习十三:检索MediaStore中的Video和其对应的缩略图信息
- 一步一个脚印学习WCF之二构建一个简单的WCF应用程序前必须掌握的WCF基础术语---契约的名称与命名空间
- 设置foxmail通过ccproxy代理收发邮件
- 多项式相加问题
- ASP.NET MVC3 基础教程 – Web Pages 1.0
- JDBC数据库编程
- C# 引用程序集 面向的是另一个处理器,而不是应用程序 警告 Referenced assembly 'TypeInfo.dll' targets a different processor than the application
- 简约 != 简单
- Android多媒体学习十四:播放网络上的视频
- linux内核中的一个宏函数例子
- 设计测试用例的四条原则
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?