#include <stdio.h>
#include <stdlib.h>
#include <assert.h> 
#define	YES	(0 == 0)
#define	NO	(1 == 0)
#define	Polynomial_MaxDegree	100
	struct Link{
		int exp;
		float coef;
		struct Link* pNext;
};
		typedef struct Link* Poly;
		typedef struct Link* pLink;
		
		void Polynomial_Print(Poly p){
		Poly tmp = p->pNext;
		if(tmp==NULL) {
			printf("0");
			return ;
}
		while(tmp!=NULL){
			if(tmp==p->pNext)printf("%f*x^%d ", tmp->coef,tmp->exp);
				else printf("%+f*x^%d ", tmp->coef,tmp->exp);
				tmp = tmp->pNext;
}
}
int main(){
	Poly PA;
	PA = (pLink)malloc(sizeof(struct Link));
	PA->pNext = (pLink)malloc(sizeof(struct Link));
	PA->pNext->pNext=NULL;
	PA->pNext->coef =3;
	PA->pNext->exp =2;
	Polynomial_Print(PA);
	return 0;
}