#include<stdio.h>
#include<stdlib.h>
typedef struct PolyNode *Polynomial;
struct PolyNode{
int coef;
int expon;
Polynomial link;
};
void Attach(int c,int e,Polynomial *pRear)
{
Polynomial P;
P = (Polynomial)malloc(sizeof(struct PolyNode));
P->coef = c;
P->expon = e;
P->link = NULL;
(*pRear)->link = P;
*pRear = P;
}
Polynomial ReadPoly()
{
Polynomial P,Rear,t;
int c,e;
P = (Polynomial)malloc(sizeof(struct PolyNode));Rear = P;
while(scanf("%d %d",&c,&e) != EOF){
Attach(c,e,&Rear);
}
t = P;P = P->link;free(t);
return P;
}
Polynomial PolyDifferent(Polynomial P)
{
Polynomial P1,P2;
//处理一般项
P2 = P;P1 = NULL;
while(P2&&P2->expon)
{
P2->coef *= P2->expon;
P2->expon--;
P1 = P2;P2 = P2->link;
}
//处理最后的常数项
if(P2){
if(P1){
free(P2);
P1->link = NULL;
}
else{
P2->coef = 0;
}
}
return P;
}
void PrintPoly(Polynomial P)
{
printf("%d %d",P->coef,P->expon);
P = P->link;
while(P){
printf(" %d %d",P->coef,P->expon);
P = P->link;
}
printf("\n");
}
int main()
{
Polynomial P;
P = ReadPoly();
P = PolyDifferent(P);
PrintPoly(P);
}
多项式求导
最新推荐文章于 2021-08-20 15:21:04 发布
本文介绍了使用C语言实现多项式求导的过程,包括多项式的创建、读取、求导和打印。通过定义结构体和相关函数,展示了如何在C语言中进行数学运算。
1615

被折叠的 条评论
为什么被折叠?



