基于C++的一元多项式相加
资源下载地址:https://download.csdn.net/download/sheziqiong/85996014
资源下载地址:https://download.csdn.net/download/sheziqiong/85996014
1.实验目的
- 了解链式存储结构的基本知识;
- 掌握算法思想和数据结构的描述;
- 结合一元多项式相加的运算规则。
2.实验环境
硬件:Intel Core™ i5-8300H CPU 2.30GHZ
软件:Windows10 家庭中文版 64位操作系统;Visual Studio 2019 集成开发环境
3.实验内容
结合书上第41页的例子,采用链式存储结构,将两个线性链表表示的一元多项式相加,并输出。此一元多项式遵循多项式相加运算规则:对于两个一元多项式中存在指数相同的项时,其对应系数相加。合并后系数和为零时,删除“和多项式”中此项;合并后系数和不为零时,则构成“和多项式”中的一项。对于两个一元多项式中存在的指数不相同的项,则分别复抄到“和多项式”中去,原多项式保持不变。
4.实验程序
4.1 程序源代码
文件名:main.c
#include <stdio.h>
#include "polyn.h"/// 从stdin取得多项式的参数,格式:项数N 系数1 指数1 系数2 指数2 ...... 系数N 指数N
void get_polyn_parameters(unsigned* n, double coef[], int expn[]);/// 主函数
int main()
{// 缓存int expn[10] = { 0 };double coef[10] = { 0 };unsigned n;// 输入多项式1printf("Enter polynomial 1. Format: N coef1 expn1 coef2 expn2 ... coefN expnN\n");get_polyn_parameters(&n, coef, expn); // 从stdin取得参数,保存到缓存Polyn* p1 = init_polyn(n, coef, expn); // 用缓存中的参数创建多项式链表p1// 输入多项式2printf("Enter polynomial 2. Format: N coef1 expn1 coef2 expn2 ... coefN expnN\n");get_polyn_parameters(&n, coef, expn); // 从stdin取得参数,保存到缓存Polyn* p2 = init_polyn(n, coef, expn); // 用缓存中的参数多项式链表p2printf("Input:\nP1 = ");print_polyn(p1); // 输出相加前的p1printf("P2 = ");print_polyn(p2); // 输出相加前的p2printf("Computing...\n");Polyn* psum = add_polyn(p1, p2); // 执行p1+p2printf("Output:\nP1 + P2 =\n");print_polyn(p1);// 输出相加后的p1,证明其未被破坏printf("+\n");print_polyn(p2);// 输出相加后的p2,证明其未被破坏printf("=\n");print_polyn(psum);// 输出多项式和psumdeinit_polyn(p1); // 回收内存deinit_polyn(p2);deinit_polyn(psum);
}/// 从stdin取得多项式的参数,格式:项数N 系数1 指数1 系数2 指数2 ...... 系数N 指数N
void get_polyn_parameters(unsigned* n, double coef[], int expn[])
{scanf("%ud", n);*n = *n % 10;for (size_t i = 0; i < *n; i++) {scanf("%lf %d", coef + i, expn + i);}
}
5.程序运行结果截图
资源下载地址:https://download.csdn.net/download/sheziqiong/85996014
资源下载地址:https://download.csdn.net/download/sheziqiong/85996014
基于C++的一元多项式相加相关推荐
- c语言一元多项式相加
用单链表实现一元多项式相加 #include<stdio.h> #include<stdlib.h> typedef struct Node{float coef;//系数 i ...
- c语言实现一元多项式的除法,课内资源 - 基于C++的一元多项式的计算
1 问题描述 将多个多项式输入并存储在内存中,然后对多项式进行加.减运算并输出结果. 2 数据结构描述一元多项式的表示方式:如 f=6x^5-7x^4+3 表示为 f=6,5 -7,4 3,0 每个多 ...
- 数据结构——有序链表的合并,链表实现一元多项式相加
1.有序链表的合并 void Connect(LinkList a, LinkList b, LinkList& c) {LNode* pa, * pb, * pc;//三个结点指针pa = ...
- C语言实现一元多项式相加
C语言 链表实现一元多项式相加 这里的代码复制后,可以直接运行,按照规定的输入即可得出多项式的结果. 问题描述 设计一种单链表存储结构,每个节点成员有一个系数和一个指数,以及下一个节点的指针,数据类型 ...
- C语言一元多项式相加(链表)
今天写一个关于一元多项式相加的程序,就当是在练习运用一下链表的知识.首先,我们先来分析一波,一元多项式相加,首先要用链表创建两个或多个多项式,每个节点里的数据有两个,系数和指数:其次,如果要实现乱幂输 ...
- 一元多项式c语言顺序存储,一元多项式相加程序(C语言)
/* 2007-3-22 一元多项式的加法 */ # include # include # include typedef struct PolyNode { int coef; int ex ...
- 编写一个程序实现两个一元多项式相加的运算。
[问题描述]编写一个程序实现两个一元多项式相加的运算. [输入形式]从标准输入中读入四行数据, 其中第一行和第三行:各是是一个整数,表示第二行和第四行数据的个数: 第二行和第四行是若干个以空格分隔的整 ...
- 数据结构 - 一元多项式相加减(C语言)
通常情况下,一元多项式可写成: an(x) = a1x^e1 + a2x^e2 + a3x^e3 + ... + amx^em (数字,m为下标),其中:pi是指数为ei的项的非零系数,0<= ...
- 严蔚敏数据结构:链表实现一元多项式相加
一.基本概念 1.多项式pn(x)可表示成: pn(x)=a0+a1x+a2x2+-+anxn. listP={(a0,e0),(a1,e1),(a2,e2),-,(an,en) }.在这种线性表描 ...
最新文章
- 震精~python运算符还能这么玩~到底这么做到的?神级程序员解密!
- Android.mk 文件语法详解
- 【网络通信与信息安全】之深入分析一个TCP连接可以发多少个HTTP请求相关问题
- c++ primer 5th 练习11.38自己编写答案(用无序容器重写单词计数程序)
- 低成本DIY视频预览遥控小车
- 广州Uber优步司机奖励政策(1月4日~1月10日)
- Queue —— JUC 的豪华队列组件
- 【Elasticsearch】 es ES节点memory lock重要性与实现方式
- JVM笔记——技术点汇总
- Java String、StringBuffer、StringBuilder区别
- 3大框架Struts、Hibernate、Spring简单了解
- 基于canvas的前端图片压缩
- matlab示例程序,Matlab100个实例程序.doc
- 人工智能和大数据案例课程
- unity4和unity5区别
- canva五角星空html,使用canvas绘制一个五角星
- 交房后,如何办理产权证、土地证?
- 计算机网课计划,计算机基础课程授课计划表.docx
- 比尔盖茨夫妇现身贫民窟
- 让职场人早下班的PDF转Word技巧,速戳!