资源简介
编程实现以下功能:
①分别输入一元多项式pn (x)和Q n (x)。
从键盘输入一元对项式中各项的系数和指数,并用单链表加以表示。
②分别对一元多项式pn (x)和Q n (x)进行升幂排序。
将一元多项式中各子项按照指数从小到大的顺序排序。
③分别输出一元多项式pn (x)和Q n (x)。
将用单链表表示的一元多项式输出,即打印多项式的系数和指数。
④任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。
⑤已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和
R n (x)和差T n (x),分别用单链表表示R n (x)和T n (x),并将二者输出,
(R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x))
⑥保存多项式,即分别将一元多项式pn (x)和Q n (x)各项的系数和指数保存到外部磁盘文件。
⑦由程序从所存文件中读出多项式的系数和指数,重新构建一元多项式 Pn (x) 和Q n (x),并可对其再次进行运算操作。
代码片段和文件信息
#include
#include
#include
typedef struct duoxiangshi
{
int coef;
int exp;
struct duoxiangshi *next;
}DXS;
int getNum()
{
int num;
printf(“输入选择功能对应的数字: “);
scanf(“%d“ &num);
return num;
}
void fun1( DXS *PHEAD DXS *QHEAD )
{
int zs xs;//定义指数系数
printf(“请输入P(x)中各项的系数和指数\n“);
scanf(“%d %d“ &xs &zs);
while( zs != 0 || xs != 0 )
{
DXS *p = (DXS*) malloc(sizeof(DXS));
p->coef = xs;
p->exp = zs;
PHEAD->next = p;
p->next = NULL;
PHEAD = PHEAD->next;
scanf(“%d %d“ &xs &zs);
}
printf(“请输入Q(x)中各项的系数和指数\n“);
scanf(“%d %d“ &xs &zs);
while( zs != 0 ||xs != 0 )
{
DXS *p = (DXS*) malloc(sizeof(DXS));
p->coef = xs;
p->exp = zs;
QHEAD->next = p;
p->next = NULL;
QHEAD = p;
scanf(“%d %d“ &xs &zs);
}
printf(“输入5显示结果\n“);
}
void fun2( DXS *PHEAD DXS *QHEAD )//升幂排序
{ DXS *p *q;//链表的冒泡排序
p = PHEAD->next;
for( p; p != NULL; p = p->next )
{
for( q = p->next; q != NULL; q = q->next )
{
if( p->exp > q->exp )
{
int temp;
temp = p->coef;
p->coef = q->coef;
q->coef = temp;
temp = p->exp;
p->exp = q->exp;
q->exp = temp;
}
}
}
p = QHEAD->next;
for( p; p != NULL; p = p->next )
{
for( q = p->next; q != NULL; q = q->next )
{
if( p->exp > q->exp )
{
int temp;
temp = p->coef;
p->coef = q->coef;
q->coef = temp;
temp = p->exp;
p->exp = q->exp;
q->exp = temp;
}
}
}
printf(“输入5显示结果。\n“);
}
void fun5( DXS *PHEAD DXS *QHEAD )
{
printf(“当前保存的P(x)Q(x)序列如下:\n“);
printf(“P(x)=“);
while( PHEAD->next != NULL )
{
PHEAD = PHEAD->next;
printf(“%d*x^%d“ PHEAD->coef PHEAD->exp);
if( PHEAD->next != NULL )
{
printf(“ + “);
}
}
printf(“\n“);
printf(“Q(x)=“);
while( QHEAD->next != NULL )
{
QHEAD = QHEAD->next;
printf(“%d*x^%d“ QHEAD->coef QHEAD->exp);
if( QHEAD->next != NULL )
{
printf(“ + “);
}
}
printf(“\n\n“);
}
void fun4( DXS *PHEAD DXS *QHEAD )
{
int x0; double sum;
pr
- 上一篇:Maxent 模型代码
- 下一篇:c++return返回二维数组
相关资源
- 数据结构课程设计vc6.o编译有MFC界面的
- 数据结构与算法分析C++语言版张琨 第
- 使用C++实现多项式的运算
- 一元多项式加法乘法运算C+链表
- mfc-一元稀疏多项式计算器
- 多项式秦九韶算法实现
- 一元多项式数据结构C语言
- 用C++链表结构实现多项式的加法,乘
- 一元多项式的运算加减乘终极版
- 数据结构c语言一元多项式的表示相加
- C程序——三次样条插值算法、最小二
- 链表实现多项式加法和乘法C语言实现
- 一元多项式的除法
- C++ 一元多项式计算器
- C语言最小二乘法多项式拟合
- [近乎免费]QT计算器(一般计算器和多
- 数据结构C语言 一元多项式的加减法
- 用c语言实现一元多项式的加减乘运算
- C语言下用单链表实现一元多项式的四
- 数据结构上机作业 一元稀疏多项式计
- 任务书2一元稀疏多项式计算器数据结
- 用C语言设计并实现一个一元稀疏多项
- 用链表实现多项式加减法运算
- C/C++程序 多元多项式的相乘
- C语言设计一元稀疏多项式课程设计
- 多项式类的C++实现乘法、加法、代入
- 一元多项式运算器
- 一元多项式的代数运算数据结构课设
- 多项式计算
- C++实现最小二乘法一元回归和多项式
评论
共有 条评论