一元稀疏多项式计算器 【 数据结构课设 】 仿真界面 + 代码详解

本文介绍了一元稀疏多项式计算器的设计,包括建立、输出、加减运算及在特定点求值的功能。提供了一段C语言实现的代码,并详细解释了数据结构和算法设计。
摘要由CSDN通过智能技术生成
  • 3.一元稀疏多项式的打印和计算在x处的值

问题描述

设计一个一元稀疏多项式简单计算器。

基本要求

(1)输入并建立多项式。

2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci,ei分别是第i 项的系数和指数,序列按指数降序排列。

(3)实现多项式a和b相加,建立多项式a+b。

(4)实现多项式a和b相减,建立多项式a-b。

(5)计算多项式在x处的值。

(6)计算器的仿真界面。

测试数据

在这里插入图片描述

带界面版

博客地址: 一元稀疏多项式计算器仿真界面版

相关代码

不带界面,只包含数据结构的设计。

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

#include<stdlib.h>

#include<malloc.h>

#include<string.h>

typedef struct Polynomial //多项式

{

float coef; //系数

int expn; //指数

struct Polynomial *next;//指针

} Polynomial, *Polyn;

//创建一个头指针为head,项数为m的一元多项式

Polyn CreatPolyn(Polyn head, int m)

{

head = (Polyn)malloc(sizeof(struct Polynomial));

head->next = NULL;

for (int i = 1; i <= m; i++)

{

Polyn p = (Polyn)malloc(sizeof(struct Polynomial));

printf(“请输入第%d项的系数与指数:”, i);

scanf(“%f%d”, &p->coef, &p->expn);

if (p->coef == 0) free§;

else

{

Polyn q1, q2;

q1 = head;

q2 = head->next;

while (q2 != NULL && p->expn < q2->expn)

{

q1 = q2;

q2 = q2->next;

}

if (q2 != NULL && p->expn == q2->expn)

{

q2->coef += p->coef;

if (q2->coef == 0)

{

q1->next = q2->next;

free(q2);

}

free§;

}

else

{

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值