大家帮小弟我看一下这个程序的有关问题(函数无法被执行)在哪
大家帮我看一下这个程序的问题(函数无法被执行)在哪?
//实现两个多项式(每项用一个链表结点表示)的相乘
#include <iostream>
using namespace std;
struct SLink //定义链表结点类型
{
float ceof; //浮点类型的系数
int exp; //整型的指数
SLink *next;
};
SLink *create(SLink *L); //创建多项式的函数声明
void add(SLink *La,SLink *Lb); //两个多项式相加的函数声明
void print(SLink *L) //输出多项式的函数
{
SLink *p;
p=L-> next;
while(!p)
{
if(p-> exp==0) cout < <p-> ceof;
else cout < <p-> ceof < < "x^ " < <p-> exp;
if(!p-> next) cout < < "+ ";
p=p-> next;
}
cout < <endl;
}
int compare(int a,int b) //比较两个数的大小的函数
{
if(a==b) return 0;
else if(a> b) return -1;
else if(a <b) return 1;
}
void main() //主函数
{
SLink *pa, *pb, *p, *q;
pa=pb=p=q=NULL;
cout < < "请依次输第一个多项式各项的系数和指数,以同时为0结束 " < <endl;
SLink *La=new SLink; La=create(La);
cout < < "第一个多项式为: "; print(La);
cout < < "请依次输第二个多项式各项的系数和指数,以同时为0结束 " < <endl;
SLink *Lb=new SLink; Lb=create(Lb);
cout < < "第二个多项式为: "; print(Lb);
pa=La-> next; pb=Lb-> next;
int i=0;
SLink *Lc=new SLink; Lc-> next=NULL;
SLink *Ld=new SLink; Ld-> next=NULL;
q=Lc;
while(!pb)
{
pa=La-> next;
while(!pa)
{
if(i> =1) q=Ld;
p=new SLink; p-> next=NULL;
p-> ceof=pa-> ceof*pb-> ceof;
p-> exp=pa-> exp+pb-> exp;
q-> next=p;q=p;
pa=pa-> next;
}
pb=pb-> next;
i++;
if(i> =2) add(Lc,Ld);
}
//print(La);
//实现两个多项式(每项用一个链表结点表示)的相乘
#include <iostream>
using namespace std;
struct SLink //定义链表结点类型
{
float ceof; //浮点类型的系数
int exp; //整型的指数
SLink *next;
};
SLink *create(SLink *L); //创建多项式的函数声明
void add(SLink *La,SLink *Lb); //两个多项式相加的函数声明
void print(SLink *L) //输出多项式的函数
{
SLink *p;
p=L-> next;
while(!p)
{
if(p-> exp==0) cout < <p-> ceof;
else cout < <p-> ceof < < "x^ " < <p-> exp;
if(!p-> next) cout < < "+ ";
p=p-> next;
}
cout < <endl;
}
int compare(int a,int b) //比较两个数的大小的函数
{
if(a==b) return 0;
else if(a> b) return -1;
else if(a <b) return 1;
}
void main() //主函数
{
SLink *pa, *pb, *p, *q;
pa=pb=p=q=NULL;
cout < < "请依次输第一个多项式各项的系数和指数,以同时为0结束 " < <endl;
SLink *La=new SLink; La=create(La);
cout < < "第一个多项式为: "; print(La);
cout < < "请依次输第二个多项式各项的系数和指数,以同时为0结束 " < <endl;
SLink *Lb=new SLink; Lb=create(Lb);
cout < < "第二个多项式为: "; print(Lb);
pa=La-> next; pb=Lb-> next;
int i=0;
SLink *Lc=new SLink; Lc-> next=NULL;
SLink *Ld=new SLink; Ld-> next=NULL;
q=Lc;
while(!pb)
{
pa=La-> next;
while(!pa)
{
if(i> =1) q=Ld;
p=new SLink; p-> next=NULL;
p-> ceof=pa-> ceof*pb-> ceof;
p-> exp=pa-> exp+pb-> exp;
q-> next=p;q=p;
pa=pa-> next;
}
pb=pb-> next;
i++;
if(i> =2) add(Lc,Ld);
}
//print(La);