一元多项式相加
来源:互联网 发布:动作电影特效软件 编辑:程序博客网 时间:2024/05/18 03:33
使用链表实现。
#include <stdio.h>#include <stdlib.h>typedef struct node{float p;unsigned int e;struct node *next;}polynomial,*p_polynomial;p_polynomial poly_add(p_polynomial a, p_polynomial b){p_polynomial p=a, q=b, t;/*存在性*/if (!a || !b){printf("至少有一个多项式不存在,无法计算!");return(NULL);}while (p->next || q->next){if (!p->next){p->next = q->next;return(a);}if (!q->next){return(a);}if (q->next->e == p->next->e){p->next->p += q->next->p;p = p->next;q->next = q->next->next;}else{if (q->next->e < p->next->e){t = q->next;q->next = t->next;t->next = p->next;p->next = t;p = p->next;}else{p = p->next;while (p->next){if (q->next->e > p->next->e)p = p->next;elsebreak;}if (!p->next){t = q->next;p->next->next = t;return(a);}elsecontinue;}}}}int display_polynomial(p_polynomial p){if (!p){printf("多项式不存在");return(0);}p_polynomial t = p->next;while (t){printf("%f %d ", t->p, t->e);t = t->next;}printf("\n");return(1);}/*test*/int main(){const int n1 = 5;const int n2 = 7;p_polynomial h1 = (p_polynomial)malloc(sizeof(polynomial));p_polynomial h2 = (p_polynomial)malloc(sizeof(polynomial));h1->next = NULL;h2->next = NULL;p_polynomial t = h1;for (int i = 0; i < n1; i++){t->next = (p_polynomial)malloc(sizeof(polynomial));t->next->e = i;t->next->p = i + 1; t = t->next;t->next = NULL;}t->next = (p_polynomial)malloc(sizeof(polynomial));t->next->e =10;t->next->p = 3;t = t->next;t->next = NULL;t = h2;for (int i = 0; i < n2; i++){t->next = (p_polynomial)malloc(sizeof(polynomial));t->next->e = i+3;t->next->p = i + 1;t = t->next;t->next = NULL;}display_polynomial(h1);display_polynomial(h2);display_polynomial(poly_add(h1, h2));while (true){}return(1);}
0 0
- 一元多项式相加
- 数据结构 一元多项式相加
- 一元多项式相加
- 一元多项式相加
- 一元多项式相加
- 一元多项式相加
- 2.一元多项式相加
- 一元多项式相加
- 两个一元多项式相加
- 一元多项式相加
- 一元稀疏多项式相加
- 一元多项式的相加
- 一元多项式的相加运算
- 数据结构实现一元多项式相加
- 一元多项式表示相加操作
- 一元多项式的相加减
- 线性表---一元多项式相加
- 一元多项式表示和相加
- Install: Ubuntu install openssl
- 第四章 INI配置
- Log4J的入门简介学习
- 如何给nodejs开发的web 绑定域名
- SSH常见面试题
- 一元多项式相加
- 第五章 编码/加密
- 人工智能又一次站在浪潮之巅
- struts2中chain、redirect和redirectAction的区别
- oracle学习第二篇:Oracle SQL*Plus工具登录不上问题解决
- IOS中键盘隐藏几种方式
- 最新版本Spring、Hibernate、Struts框架整合
- VS2010中C#调用C函数
- 第六章 Realm及相关对象