一元n次多项式的求和与计算问题.用C语言实现,不用数据结构和函数.用“非零系数”、“指数”数组(不妨设定系数为整数)可以表示一个一元n次多项式.现给出Fn(x)、Gm(x)两个多项式,
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 16:31:53
一元n次多项式的求和与计算问题.用C语言实现,不用数据结构和函数.用“非零系数”、“指数”数组(不妨设定系数为整数)可以表示一个一元n次多项式.现给出Fn(x)、Gm(x)两个多项式,
一元n次多项式的求和与计算问题.用C语言实现,不用数据结构和函数.
用“非零系数”、“指数”数组(不妨设定系数为整数)可以表示一个一元n次多项式.现给出Fn(x)、Gm(x)两个多项式,求Hp(x)= Fn(x)+Gm(x).并对于键盘输入的x,求Hp(x)的值.
一元n次多项式的求和与计算问题.用C语言实现,不用数据结构和函数.用“非零系数”、“指数”数组(不妨设定系数为整数)可以表示一个一元n次多项式.现给出Fn(x)、Gm(x)两个多项式,
这是我原来的系列,你是指以以下无用ATOI()函数完成数字转换
的#include“stdio.h中”
包括“stdlib.h中”
包括“ string.h中“
结构节点{
诠释改编;
结构节点下;
};
typedef结构节点节点;
类型定义节点*堆栈
STACKTOP {
堆栈的顶部;
};
typedef结构STACKTOP *;
诠释计算机控制(SR1,SR2,诠释SR3); . />诠释opinion4(字符*指针,整数* NUM);
诠释opinion3(字符路);
诠释opinion2(字符路);
整数意见(字符路)的无效StackPush(通道,顶部的?PtoP);
无效StackPop(INT * PI,ptop的顶部);
:(空)
{
整型值1 ;
整型值2;
整型值3;
字符路[100];
整数R,A;
INT I = 0;
顶svalue;
前sctype;
svalue =(顶部)的malloc(sizeof(STACKTOP))的;
svalue - >顶= NULL;
sctype =(顶)的malloc(如sizeof( STACKTOP));
sctype - > = NULL;
StackPush('A',sctype);
printf的(“请输入表达式:\ n - >”); />得到(CH);
(ch! = NULL && CH [I] ='\ 0')
{
(意见(CH [I])== 1 )/ /运算符
{
(opinion2(CH [I])顶部> ARR))BR /> {
StackPop(&值1,svalue) ;
StackPop(值2,svalue的);
StackPop(&数值3,sctype)的;
R =计算机控制(值1,值2,值3);
StackPush( R,svalue);
}
StackPush(CH [我],sctype.);
}
否则,如果(opinion3(CH [I])== 1)/ /操作员,操作
{
= opinion4(CH&I);
StackPush(svalue);
}
其他
{ />突破;
}
+ +;
}
同时(sctype - >顶> ARR ='A')
{
StackPop(&是value1,svalue)的;
StackPop(值2,svalue的);
StackPop(&数值3,sctype)的;
R =计算机控制(值1,值2,值3) ;
StackPush(R,svalue);
}
printf的(“%d”的,R);
返回0;
}
>内部的计算机控制(SR1,SR2,诠释SR3)
{
开关((char)的SR3)
{
情况下,'+':返回SR2 + SR1; . />的情况下' - ':SR2-SR1
情况下,'*':返回SR2 SR1;
情况下,'/':返回SR2 / SR1;
}
}
/ *字符被转换成数字* /
诠释opinion4(CHAR *,INT * NUM)
{
诠释x; . /> INT B = *民;
整数C = 0;
整数D,E,F;
诠释BRR [50];
诠释方= 1;
>诠释总= 0;
X = strlen的(PTR);
((opinion3(PTR [B])== 1)&& B 为(D = 0,D 0,E - )
方=芳* 10; . />总=总+ BRR [D]芳;
F -
方= 1;
}
*数量= B-1;
回报总
}
}
/ *判断是否数字* /
诠释opinion3(字符路)
{
(CH> = '0'&& CH 顶;
* PI = pnew-> ARR;
ptop的 - 顶部= pnew - >下;
免费(pnew);
}
无效StackPush(CH,顶的PtoP)
{
堆栈pnew ;
pnew =(Stack)中的malloc(如sizeof(节点));
(pnew == NULL)
出口(1);
pnew-> ARR = CH; BR />(ptop的 - >顶部== NULL)
pnew - > = NULL;
其他
pnew->下一个= ptop的 - >顶;
ptop的 - >顶部pnew
}
/ *确定是否操作符* /
整数认为(字符路)
{
开关( CH)
{
情况下,'+':
情况下,' - ':
情况下,'*':
情况下,'/':返回1;
默认:
返回0;
}
}