欢迎来到天天文库
浏览记录
ID:10797276
大小:94.00 KB
页数:18页
时间:2018-07-08
《一元多项式的各种运算实现(c++》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一元多项式各种运算本程序可完成一元多项式的加,减,乘,积分,微分运算输入可按习惯书写形式输入各项,输出按指数降序//头文件:#include#include#include#include#include#include#include#include#include#include#include#inc
2、lude#include#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0typedefintstatus;typedeffloattype;typedefintfuhaosign;结构体类型定义:typedefstructlist{typedata;intzhi;structlist*next;}list;typedefstructnode{i
3、ntlength;list*next;}node;用到的函数:注:各函数参数如是结构体指针,则此指针传入函数之前必将其赋值为NULL否则可能出现错误。voidshuoming(){cout<<"*******************************************************************************"<4、指数不能是小数,功能选择项:*"<5、)a=a*1e-1;returna;}//赋值,参数是指向头结点的指针voidfuzhi(node*&toup){floatfumi(intk);voidinit(node*&toup);if(!toup)init(toup);if(toup->next)init(toup);//保证赋值前链表有且仅有一个头结点//初始化各变量charc,ch='';//c接受字符,ch记录上一字符,用于检错intk2=0;//k2标志着+-号前面是否有数值,0时没有,1为有fuhaosignk1=1;//k1是符号位正负的标志,0为负,1为正i6、ntk3=0;//小数点的个数intkx=0;//标志前面是否有xlist*p=toup->next,*t;typedat=0.0;//输入c=getchar();inti=0;while(c!=''){if(!p){p=(list*)malloc(sizeof(list));if(!p){cout<<"溢出错误"<next=p;toup->length++;i++;p->next=NULL;t=p;}else{t->next=p;t=p;p->next=NULL;t7、oup->length++;}}if((ch=='+'8、9、ch=='-')&&(c=='+'10、11、c=='-')){cout<<"未按说明输入,请下次输入前仔细阅读"<data=k1*1;elsep->data=k1*dat;dat=0.0;k1=1;k2=0;k3=0;k12、x=1;break;case'.':k3=1;break;case'':if(k2==1){if(kx==1){p->zhi=k1*(int)dat;dat=0.0;p=p->next;}else{p->data=k1*dat;p->zhi=0;d
4、指数不能是小数,功能选择项:*"<5、)a=a*1e-1;returna;}//赋值,参数是指向头结点的指针voidfuzhi(node*&toup){floatfumi(intk);voidinit(node*&toup);if(!toup)init(toup);if(toup->next)init(toup);//保证赋值前链表有且仅有一个头结点//初始化各变量charc,ch='';//c接受字符,ch记录上一字符,用于检错intk2=0;//k2标志着+-号前面是否有数值,0时没有,1为有fuhaosignk1=1;//k1是符号位正负的标志,0为负,1为正i6、ntk3=0;//小数点的个数intkx=0;//标志前面是否有xlist*p=toup->next,*t;typedat=0.0;//输入c=getchar();inti=0;while(c!=''){if(!p){p=(list*)malloc(sizeof(list));if(!p){cout<<"溢出错误"<next=p;toup->length++;i++;p->next=NULL;t=p;}else{t->next=p;t=p;p->next=NULL;t7、oup->length++;}}if((ch=='+'8、9、ch=='-')&&(c=='+'10、11、c=='-')){cout<<"未按说明输入,请下次输入前仔细阅读"<data=k1*1;elsep->data=k1*dat;dat=0.0;k1=1;k2=0;k3=0;k12、x=1;break;case'.':k3=1;break;case'':if(k2==1){if(kx==1){p->zhi=k1*(int)dat;dat=0.0;p=p->next;}else{p->data=k1*dat;p->zhi=0;d
5、)a=a*1e-1;returna;}//赋值,参数是指向头结点的指针voidfuzhi(node*&toup){floatfumi(intk);voidinit(node*&toup);if(!toup)init(toup);if(toup->next)init(toup);//保证赋值前链表有且仅有一个头结点//初始化各变量charc,ch='';//c接受字符,ch记录上一字符,用于检错intk2=0;//k2标志着+-号前面是否有数值,0时没有,1为有fuhaosignk1=1;//k1是符号位正负的标志,0为负,1为正i
6、ntk3=0;//小数点的个数intkx=0;//标志前面是否有xlist*p=toup->next,*t;typedat=0.0;//输入c=getchar();inti=0;while(c!=''){if(!p){p=(list*)malloc(sizeof(list));if(!p){cout<<"溢出错误"<next=p;toup->length++;i++;p->next=NULL;t=p;}else{t->next=p;t=p;p->next=NULL;t
7、oup->length++;}}if((ch=='+'
8、
9、ch=='-')&&(c=='+'
10、
11、c=='-')){cout<<"未按说明输入,请下次输入前仔细阅读"<data=k1*1;elsep->data=k1*dat;dat=0.0;k1=1;k2=0;k3=0;k
12、x=1;break;case'.':k3=1;break;case'':if(k2==1){if(kx==1){p->zhi=k1*(int)dat;dat=0.0;p=p->next;}else{p->data=k1*dat;p->zhi=0;d
此文档下载收益归作者所有