《数据结构小实验》一元多项式计算器

该代码整体运行下来没有问题,但有一些小地方没有很好的优化,仅供参考。

这里写目录标题

实验要求

  • 实验内容
    设有一元多项式Am(x)和Bn(X),编程实现多项式Am(x)和Bn(x)的加法、减法和乘法运算。其中多项式描述为: Am(x)=A0+A1x1+A2x2+A3x3….+Amxm;
    Bn(x)=B0+B1x1+B2x2+B3x3+….+Bnxn。
  • 实验说明
    1.输入和输出:
    (1)输入:
    从键盘输入运算指令(相加、相减、相乘),根据运算指令进行相应运算;
    从键盘输入两个多项式的系数和指数;
    系数和指数采用int类型,运算结果不超出int取值范围。
    (2)输出:
    每种运算结果以多项式形式输出,要输出升幂和降幂两种情况。
    结果多项式中无重复阶项、无零系数项,输出多项式时请采用如下易读形式(一元多项式,总变元为x): x^4 - 3 x^2 + 5
    2.实验要求:
    实现一个简单的交互式界面,包括系统菜单、输入提示等。
    根据多项式不同的运算要求选择合适的存储结构;
    上机编辑、调试出完整正确的程序,包括相加、相减、相乘运算。

程序代码

#include <stdio.h>
#include <stdlib.h>
typedef struct PolyNode *Polynimial;
struct PolyNode
{
   
    int coef;
    int expon;
    Polynimial link;
};
void Attach(int c,int e,Polynimial *pRear);//多项式结点的创建
Polynimial ReadPoly();//创建多项式
void PrintPolyn(Polynimial P);//升幂输出多项式
Polynimial Add(Polynimial P1,Polynimial P2);//多项式相加
Polynimial Decrease(Polynimial P1,Polynimial P2);//多项式相减
int Compare(int a,int b);//比较多项式系数大小
Polynimial Mult(Polynimial P1,Polynimial P2);//多项式相乘
Polynimial ReverseList(Polynimial P);//多项式的转置
void mune();//菜单选项
Polynimial ReadPoly()
{
   
    Polynimial P,Rear,t;
    int c,e,N;
    printf("请输入多项式的项数\n");
    scanf("%d",&N);
    P=(Polynimial)malloc(sizeof(struct PolyNode));
    P->link=NULL;
    Rear=P;
    printf("请输入多项式(以系数c 指数e的格式输入)\n");
    while(N--)
    {
   
        scanf("%d%d",&c,&e);
        Attach(c,e,&Rear);
    }
    t=P;
    P=P->link;
    free(t);
    return P;
}
void Attach(int c,int e,Polynimial *pRear)
{
   
    Polynimial P;
    P=(Polynimial)malloc(sizeof(struct PolyNode));
    P->coef=c;
    P->expon=e;
    P->link=NULL;
    (*pRear)->link=P;
    *pRear=P;
}
void PrintPolyn(Polynimial P
  • 9
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值