有哪位可以帮我看看这个程序~
来源:百度知道 编辑:UC知道 时间:2024/07/01 08:16:05
有关数据结构的一个程序:
#include<stdio.h>
#include<malloc.h>
////////////////////
typedef struct PNode
{
float coef;
int expn;
struct PNode *next;
}PNode,*Polynomial;
//////////////////////////
void Init(Polynomial);
void Creat(Polynomial);
void addPolynomial(Polynomial,Polynomial);
int cmp(int,int);
void printPolynomial(Polynomial);
///////////////////////////////////
void Init(Polynomial &p)
{
p=(Polynomial)malloc(sizeof(PNode));
p->next=NULL;
}
void Creat(Polynomial &p)
{
int m=1;
PNode *a,*b;
b=p;
printf("请依次输入该多项式各项的系数和指数,如果要结束输入,请将系数置为0\n");
while(m)
{
a=(Polynomial)malloc(sizeof(PNode));
scanf("%f%d",&a->coef,&a->expn);
if(a->coef)
{
a->next=b->next;
b->next=a;
b=b->next;
}
else
m=
#include<stdio.h>
#include<malloc.h>
////////////////////
typedef struct PNode
{
float coef;
int expn;
struct PNode *next;
}PNode,*Polynomial;
//////////////////////////
void Init(Polynomial);
void Creat(Polynomial);
void addPolynomial(Polynomial,Polynomial);
int cmp(int,int);
void printPolynomial(Polynomial);
///////////////////////////////////
void Init(Polynomial &p)
{
p=(Polynomial)malloc(sizeof(PNode));
p->next=NULL;
}
void Creat(Polynomial &p)
{
int m=1;
PNode *a,*b;
b=p;
printf("请依次输入该多项式各项的系数和指数,如果要结束输入,请将系数置为0\n");
while(m)
{
a=(Polynomial)malloc(sizeof(PNode));
scanf("%f%d",&a->coef,&a->expn);
if(a->coef)
{
a->next=b->next;
b->next=a;
b=b->next;
}
else
m=
你的这些函数在声明和定义时,参数表不匹配,有的定义加了&而声明没有,把声明里面也加上就行了。
你把后缀名从.cpp改为.c就好了。
如果不改后追名,可以写一个.h文件,把下面的函数声明放到.h上
void Init(Polynomial);
void Creat(Polynomial);
void addPolynomial(Polynomial,Polynomial);
int cmp(int,int);
void printPolynomial(Polynomial);
你的申明void addPolynomial(Polynomial,Polynomial);
和你的定义void add(Polynomial &pa,Polynomial &pb)
不一样
改成一样就可以了,仔细对一下