3268 多项式相加
2016-01-31 19:46
330 查看
#include <stdio.h> #include <string.h> struct node{ int dex; int exp; struct node *next; }a,b; node *Create(int n){ node *hp,*p=hp=new node,*temp; int dex,exp; while(n--){ scanf("%d%d",&dex,&exp); temp = new node; temp->dex=dex; temp->exp=exp; p->next=temp; p=temp; } p->next=NULL; return hp; } node *Add_ab(node *a,node *b){ node *ans,*p=ans=new node,*temp; while(a&&b){ if(a->exp>b->exp){ temp = new node; temp->dex=a->dex; temp->exp=a->exp; p->next=temp; p=temp; a=a->next; } else if(a->exp<b->exp){ temp = new node; temp->dex=b->dex; temp->exp=b->exp; p->next=temp; p=temp; b=b->next; } else if(a->dex+b->dex==0){ a=a->next; b=b->next; } else{ temp = new node; temp->dex=a->dex+b->dex; temp->exp=a->exp; p->next=temp; p=temp; a=a->next; b=b->next; } } while(a){ temp = new node; temp->dex=a->dex; temp->exp=a->exp; p->next=temp; p=temp; a=a->next; } while(b){ temp = new node; temp->dex=b->dex; temp->exp=b->exp; p->next=temp; p=temp; b=b->next; } p->next=NULL; return ans; } int main(){ int n,m; node *ha,*hb,*hc,*temp; scanf("%d%d",&n,&m); ha=Create(n); hb=Create(m); hc=Add_ab(ha->next,hb->next); temp = hc->next; while(temp){ printf("%d %d",temp->dex,temp->exp); temp=temp->next; } return 0; }
相关文章推荐
- PyQt5 笔记(02):嵌套布局
- Lua封装格式化float
- PAT 1081. Rational Sum (20)
- Java基础——hashcode()与equals()
- Lua封装格式化html
- 生活在REPL中,工具与程序一体
- Office 2016九大新功能
- javascript中面向对象思想的体现(一)
- choose the time to run your jobs--sleep
- 基于java社会化海量数据采集爬虫框架搭建
- 【MVC】——MVC框架
- python零零碎碎
- Android ScrollView滚动条
- 学习老外用webstorm开发nodejs的技巧--代码提示DefinitelyTyped
- 【设计模式】装饰器模式
- 因果故事:窦燕山五子登科
- 标准MD5加密工具类
- 1046. 划拳(15)
- C# web 开发
- jclouds项目:在云环境中简化开发流程