下载此文档

四则运算 数据结构.doc


文档分类:高等教育 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
//用数据结构编写简单四则运算(+,-,*,/)//整体思路(可带多个括号,及小数)//建立一个单向链表//运算过程中运算符优先级#=)+-*/(//00122334//while(p->data&&GetTop(OPTR))//{(p->data)//if(数字)进栈OVS//elseif(GetTop(OPTR)!='('&&p->data!=')')//{//if(GetTop(OPTR)低于p->data优先级)//进栈OPTR//else//while(GetTop(OPTR)高于p->data优先级)//运算//}//else删去左右括号//}//字符转换为数字(用一个数组表示数字)//#include<>#include<>#include<>#include<>#include<>#include<>#include<>#defineN5#defineM60typedefcharElemType;typedefstructnode{ElemTypedata;structnode*next;}*LinkList,Node;typedefstructfnode{ floatdata; structfnode*next;}*FLinkList,FNode;LinkListBuildLink(charstr[M]);//建立链表LinkListPush_char(LinkListL,ElemTypedata);//进入符号栈intIsEmpty(LinkListL);//栈是否为空ElemTypeGetTop(LinkListL);//取出符号栈顶栈不删除ElemTypePop_char(LinkListL,ElemType*x);//取出符号栈顶栈删除floatPop_float(FLinkListL,float*x);//取出数字栈顶栈删除intBracketMatch(char*e);//判断括号匹配floatExecute(floatm,charop,floatn);//pare(chara);//比较运算符优先级floatExpEvaluation(LinkListL);//进行(可以括号,小数)的运算intGet_number(charch);//字符转换为数字intGetNumber_1(intb[N],inti);//取整数部分floatGetNumber_2(intb[N],inti);//取小数部分voidStart(){ LinkListL;floatx; charstr[M]; printf("请输入运算式('='结束)\n"); gets(str);//puts(str); BracketMatch(str);L=BuildLink(str);//BracketMatch(L);printf("ok2");x=ExpEvaluation(L); printf("上式运算结果为wei:");printf("%f\n",x);}LinkListBuildLink(charstr[M]){ LinkListL;Node*p,*s;inti;L=(LinkList)malloc(sizeof(Node));L->next=NULL;

四则运算 数据结构 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wefe2019
  • 文件大小58 KB
  • 时间2019-08-22