【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言……

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 12:45:14
【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言……

【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言……
【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.
用C语言……

【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言……
#include "stdio.h"
/* 链表结点结构 */
typedef struct LNode{
double coef; /* 系数 */
int exp; /* 指数 */
struct LNode *next;
}LNode;
/* 初始化链表 */
LNode *Init()
{
LNode *head = (LNode*)malloc(sizeof(LNode));
head->next = NULL;
return head;
}
/* 将值为data的结点插入到head链表的最后 */
void AddNode(LNode *head,double coef,int exp)
{
LNode *pre = head->next;
LNode *temp;
temp = (LNode*)malloc(sizeof(LNode));
temp->coef = coef;
temp->exp = exp;
temp->next = NULL;
if(pre == NULL)
{
head->next = temp;
return;
}
for(; pre->next!=NULL; pre=pre->next);
pre->next = temp;
}
/* 输出head链表的所有结点的值 */
void List(LNode *head)
{
LNode *curr;
printf("All nodes :");
for(curr=head->next; curr!=NULL; curr=curr->next)
{
printf("(%lf,%d)\t",curr->coef,curr->exp);
}
printf("\n");
}
/* 返回head链表的所有结点的数量 */
int Size(LNode *head)
{
int len = 0;
LNode *curr;
for(curr=head->next; curr!=NULL; curr=curr->next,len++);
return len;
}
LNode *Add(LNode *headA,LNode *headB)
{
LNode *currA,*currB,*headC;
double sum;
currA = headA->next;
currB = headB->next;
headC = Init();
while(currA!=NULL && currB!=NULL)
{
if(currA->exp > currB->exp)
{
AddNode(headC,currA->coef,currA->exp);
currA = currA->next;
}
else if(currA->exp < currB->exp)
{
AddNode(headC,currB->coef,currB->exp);
currB = currB->next;
}
else
{
sum = currA->coef + currB->coef;
if(sum != 0)
{
AddNode(headC,sum,currA->exp);
}
currA = currA->next;
currB = currB->next;
}
}
while(currA != NULL)
{
AddNode(headC,currA->coef,currA->exp);
currA = currA->next;
}
while(currB != NULL)
{
AddNode(headC,currB->coef,currB->exp);
currB = currB->next;
}
return headC;
}
void main()
{
LNode *headA,*headB,*headC;
headA = Init();
headB = Init();
AddNode(headA,1.0,5);
AddNode(headA,-1.0,3);
AddNode(headA,1,0);
AddNode(headB,0.5,5);
AddNode(headB,1.0,4);
AddNode(headB,1.0,3);
List(headA);
List(headB);
headC = Add(headA,headB);
List(headC);
}\x1a

关于数据结构单链表的题,给定两个多项式,实现多项式的相加算法, 数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算 【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言…… 数据结构(C语言) 如何分别用顺序和链式 实现一元多项式的相加? 设计一个一元多项式简单的计算器(数据结构C语言版)急要求:一元多项式计算器的基本功能定为 (1) 建立多项式 (2) 输出多项式 (3) 两个多项式相加,建立并输出和多项式 (4) 两个多项式相减 数据结构:用链表实现两个多项式相加,用C++或者C语言实现多项式相加,求完整代码输入:第一行输入包含两个整数m,n后续为m行和n行数据m,n分别代表两个多项式的项数后续每一行代表多项式 编写一个程序用单链表存储多项式,并实现两个多项式相加的函数?C/C++语言 数据结构课程设计(C语言版) 一元稀疏多项式的运算问题描述:设用两个数组表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.***注意使用数组,不是链表哦~~!***实现要求:⑴ 输 怎么编程一元多项式相加(数据结构) 用数据结构写一个多项式的表达及相加,怎么写啊 两个一元多项式相加 求高手帮帮忙:关于数据结构课程设计的问题描述:设有两个带表头的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.实现要求:⑴ 输入并建立多项式;⑵ 输出多项式, 多项式计算要求:1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(4)两个多项式相减,建立并输出差多项式.2.要求:一元多项式简单计算器的基本 多项式计算要求:1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(4)两个多项式相减,建立并输出差多项式.2.要求:一元多项式简单计算器的基本 如何用C语言实现多项式的加法和乘法给定两个多项式,用程序实现这两个多项式的相加和相乘.要求多项式的系数只能取1或者0;同时满足1+1=0;例如给定多项式(1+X)*(1+X)=X2.基本要求:(1)实 两个4次多项式相加 两个多项式相加是多项式吗 两个三次多项式相加 结果一定是 不超过三次的多项式 为什么两个三次多项式相加 结果一定是 不超过三次的多项式 为什么