设计一个一元多项式简单的计算器(C语言)

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:04:31
要求:(1)用带头节点的单链表表示多项式,表中每一个节点表示多项式的一项
(2)一元多项式简单计算器的基本功能为:输入并建立多项式,输出多项式,2个多项式相减

#include<stdio.h>
#include<stdlib.h>

typedef struct Node
{
int data;
struct Node *next;
}Node;//链表结点

typedef struct LinkList//定义链表数据类型
{
Node *head;//表头结点
void PrintMform()//输出多项式
{
Node *p=head->next;
int exp = head->data-1;
while(p!=NULL)
{
if(exp==head->data-1)
printf("%dX^%d",p->data,exp);
else
{
if(p->data>0)
printf("+%dX^%d",p->data,exp);
if(p->data==0)
printf("+0");
if(p->data<
0)
printf("%dX^%d",p->data,exp);
}
exp--;
p=p->next;
}
printf("\n");
}
void CreateByInput(int length)//通过输入元素建立链表
{
head=(Node *)malloc(sizeof(Node));
head->data=0;//表头节点存储链表真实长度
head->next=NULL;
int i,temp;
Nod