c语言如何求导函数 c语言中求导函数

c语言怎么编求导//多项式求导数
intPolyDeri(listnodePolypolyFunc)
{
listnodePoly::iteratoriter;
for(iter=polyFunc.begin();iter!=polyFunc.end();++iter)
{
if((*iter).ex1)
{
(*iter).coef=((*iter).coef)*((*iter).ex);
(*iter).ex=(*iter).ex-1;
}
elseif(1==(*iter).ex)
{
(*iter).ex=0;
}
elseif(0==(*iter).ex)
{
【c语言如何求导函数 c语言中求导函数】(*iter).coef=0;
}
}
returnRET_OK;
}
其中,多项式的定义是listnodePoly,如下:
//多项式节点结构体定义
typedefstructstuPolynomNode
{
doublecoef;
intex;
}nodePoly;
扩展资料
c语言求导数据范围及提示DataSizeHint
#includeiostream
#includecmath
usingnamespacestd;
intmain()
{
intnum=0,i=0;
cinnum;
for(i=2;i=sqrt(num);i++)
{
if(num%i==0)
break;
}
if(isqrt(num)
coutnum"为素数"endl;
else
coutnum"不是素数"endl;
return0;
}
c语言,求导这位是在别人的地方copy来的,这是地址:
//一元多项式的求导
#includestdio.h
#includemalloc.h//动态申请空间的函数的头文件
typedef struct node//定义节点类型
{
float coef;//多项式的系数
int expn;//多项式的指数
struct node * next; //结点指针域
}PLOYList;
void insert(PLOYList *head,PLOYList *input)//查找位置插入新链节的函数,且让输入的多项式呈降序排列
{
PLOYList *pre,*now;
int signal=0;
pre=head;
if(pre-next==NULL) {pre-next=input;} //如果只有一个头结点,则把新结点直接连在后面
else
{
now=pre-next;//如果不是只有一个头结点,则设置now指针
while(signal==0)
{
if(input-expnnow-expn)
{
if(now-next==NULL)
{
now-next=input;
signal=1;
}
else
{
pre=now;
now=pre-next;//始终让新输入的数的指数与最后一个结点中的数的指数比较,小于则插在其后面
}
}
else if( input-expnnow-expn )
{
input-next=now;
pre-next=input;
signal=1;
}//若新结点中指数比最后一个结点即now中的指数大 , 则插入now之前
else//若指数相等则需合并为一个结点,若相加后指数为0则释放该结点
{
now-coef=now-coef+input-coef;
signal=1;
free(input);
if(now-coef==0)
{
pre-next=now-next;
free(now);
}
}//else
} //while
}//else
}//void
PLOYList *creat(char ch)//输入多项式
{
PLOYList *head,*input;
float x;
int y;
head=(PLOYList *)malloc(sizeof(PLOYList));//创建链表头
head-next=NULL;
scanf("%f %d",x,y);//实现用户输入的第一个项,包括其指数和系数
while(x!=0)//当用户没有输入结束标志0时可一直输入多项式的项,且输入一个创建一个结点
{
input=(PLOYList *)malloc(sizeof(PLOYList));//创建新链节
input-coef=x;
input-expn=y;
input-next=NULL;
insert(head,input);//每输入一项就将其排序,是的链表中多项式呈降序排列
scanf("%f %d",x,y);
}
return head;
}
PLOYList *der(PLOYList *head)//多项式求导
{
PLOYList *p;
p = head - next;
while (p)
{
p - coef = p - coef * p - expn;
p - expn = p - expn--;
p = p - next;
}
return head;
}//将多项式的每项系数和指数相乘得到新的系数,指数减一得到新的指数即完成求导
void print(PLOYList *fun)//输出多项式,fun指要输出的多项式链表的表头
{
PLOYList *printing;

推荐阅读