给定x值,求多项式P(x)的值
多项式P(x)采用单链表存储,参见教材的类型定义,写一个算法,对给定x值,求多项式P(x)的值。
(1)首先编写单链表的初始化函数、单链表创建函数及输出函数。
(2)再编写求值函数,提示求出每一个结点的值,进行累加。提示:结点p的值:p->coef*pow(x,p->exp)。
(3)在主函数中调用其它函数进行调试运行。"
typedef struct Polynode
{
int coef;
int exp;
struct Polynode *next;
}Polynode,*Polylist; //这个是所用的结构体
Polylist PolyCreate()
{
Polynode *head,*rear,*s;
int c,e;
head=(Polynode*)malloc(sizeof(Polynode));
rear=head;
scanf("%d,%d",&c,&e);
while(c!=0)
{
s=(Polynode*)malloc(sizeof(Polynode));
s->coef=c;
s->exp=e;
rear->next=s;
rear=s;
scanf("%d,%d",&c,&e);
}
rear->next=NULL;
return head;
} //创建链表的函数
int menu_select()
{
int sn;
printf(" 多项式的计算\n");
printf("==============================\n");
printf(" 1、多项函数的建立\n");
printf(" 2、多项函数的使用\n");
printf(" 3、多项函数链表的清空\n");
printf(" 0、退出程序\n");
printf("==============================\n");
printf(" 请选择0--3: ");
for(;;)
{
scanf("%d",&sn);
getchar();
if(sn<0 || sn>3)
printf("\n\t 输入选择错误,请重新选择 0--3: ");
else
break;
}
return sn;
} //菜单函数
int main()
{
int x;
double b;
struct Polylist *aa;
for(;;)
{
switch(menu_select())
{
case 1:
printf("多项函数的建立\n");
/*aa=Ploycreate();
break;
case 2:
printf("多项函数的使用\n");
printf("请输入x:\n");
b=PolyAdd(*aa,x);
break;
case 3:
printf(" 多项函数链表的清空\n");
======未编写
break;
case 0:
printf(" 退出程序\n");
=====
return 0;
}
}
return 0;
} //主函数
我想知道输入x值,求各个结点的和的函数怎么编写,还有主函数如何调用啊,我怎么写都有错误。