有哪位可以帮我看看这个程序~

来源:百度知道 编辑: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=

你的这些函数在声明和定义时,参数表不匹配,有的定义加了&而声明没有,把声明里面也加上就行了。

你把后缀名从.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)
不一样

改成一样就可以了,仔细对一下