求和函数模块:
是 定义存储结果的空链 r 开始
存储多项式1的空链P是否为空 否 是 存储多项式2的空链Q是否为空 否 同指数项系数相加后存入r中 直接把q中各项存入r 直接把p中各项存入r中 输出存储多项式的和的链r 合并同类项 结束 求差函数模块:
是 定义存储结果的空链 r 开始
存储多项式1的空链P是否为空 否 是 存储多项式2的空链Q是否为空 否 同指数项系数相加后存入r中 直接把q中各项存入r 把p中各项系数改变符号后存入r中 输出存储多项式的和的链r 合并同类项 结束
四、 主要源程序代码
#include <> #include <>
#include
typedef struct duoxiangshi {
int coef; int exp;
struct duoxiangshi *next; }DXS;
int getNum() {
int num;
printf(\输入选择功能对应的数字: \ scanf(\
return num; }
void fun1( DXS *PHEAD, DXS *QHEAD ) {
int zs, xs;lf\\n\
sum = 0;
while( QHEAD->next != NULL ) {
QHEAD = QHEAD->next;
sum += QHEAD->coef * pow( x0, QHEAD->exp ); }
printf(\ }
void fun3( DXS *PHEAD, DXS *QHEAD )别输入Pn(x)和Qn(x)。\\n\ printf(\分别对Pn(x)和Qn(x)进行升幂排序。\\n\ printf(\分别求出Pn(x)和Qn(x)的和差。\\n\
printf(\任意输入一个实数x,分别求出一元多项式Pn(x)和Qn(x)的值。\\n\
printf(\分别输出上一步运行结果的Pn(x)和Qn(x)。\\n\
printf(\ printf(\ }
int main() {
printf(\ menu();
int num;
num = getNum(); if ( num == 0 )
printf(\
DXS *PHEAD, *QHEAD;
PHEAD = (DXS *)malloc(sizeof(DXS)); QHEAD = (DXS *)malloc(sizeof(DXS));
PHEAD->next = NULL; QHEAD->next = NULL;
while ( num ) {
switch ( num ) {
case 1:
fun1( PHEAD, QHEAD ); break; case 2:
fun2( PHEAD, QHEAD ); break; case 3:
fun3( PHEAD, QHEAD ); break; case 4:
fun4( PHEAD, QHEAD ); break; case 5:
fun5( PHEAD, QHEAD ); break; default:
printf(\输入错误,请重新输入\\n\\n\ }
num = getNum();
if ( num == 0 )
printf(\ }
return 0; }
五、 调试分析过程描述
测试数据及实验过程:
1、欢迎界面以及选择功能1和功能5得到的结果:
2、调用功能2对应的函数并输出结果
2、调用功能2对应的函数:
3、 调用功能3对应的函数: