资源描述:
《数据结构中算术表达式的求值演示的源程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构中算术表达式的求值演示的源程序冇标准答案吗,谢谢50分标签:求值算术表达式源程序标准答案概要设计回答:2浏览:2538提问时间:2005-12-1018:29这是课程设计,除了源程序,述要有需求分析,概要设计,详细设计,调试分析,用户手册,测试结果,心得体会,关键是需求分析,概要设计,详细设计,调试分析,用户手册不知道应该怎么写共0条评论...相关资料:算术表达式和赋值表达式⑴.swf更多资料>>最佳答案此答案由提问者自己选择,并不代表爱问知识人的观点揪错丨评论•举报killbig[学者]算术表达式的源程序
2、#include#include#include#definePOW1#defineMUL2#defineDIV3#defineADD4#dcfincSUB5#defineLp6#defineRp7#defineEND8#defineEpsilonle-7typcdcfdoubleNODE;struct{charop;intcode;}opchTbl[]={{绰;2},{7;3},{},{'<5},{(,6},{丁,7},俨,1},{5;8},{1}};typ
3、edefstructnode{NODEdata;structnode*link;}LNODE;LNODE*optop,*numtop;NONO(char*t,doublesum){inti;charstr[15];FILE*wf;wf=fopen(“62346_4.dat“,”w”);for(i=0;i<62;i++){if(*(t+i)!=O&&*(t+i)!=10&&*(t+i)!=13)fprintf(wf,"%cM,*(t+i));sprintf(str,"=%f”,sum);for(i=0;i<14;
4、i++)if((int)str[ij!=48&&(int)str[ij!=15)fprintf(wf,”%c”,str[i]);fclose(wf);}voidl_push(NODEx,LNODE**toppt){LNODE*p=(LNODE*)malloc(sizeof(LNODE));p->data=x;p->link=*toppt;*toppt=p;}intl_pop(NODE*cp,LNODE**toppt){LNODE*p=*toppt;if(*toppt==NULL)return1;*cp=p->dat
5、a;*toppt=p->link;free(p);return0;}intosp[]={5,3,3,2,2,5,l,l},ispU={4,3,3,2,2,0};voidsynError(){doubletemp;printf(Hsyntaxerr!”);while(optop!=NULL)l_pop(&temp,&optop);while(numtop!=NULL)l_pop(&temp,&numtop);exit(O);}doublecval(chartag,doubleleft,doubleright){int
6、n;doubleresult;switch(tag){casePOW:fdr(n=l,result=left;n7、ionerr!/nH);return1.0;}intc='',k=0;intt[61];#defineRADIX10intgetToken(double*nump){doubledradix,num;inti;while(c==''llc==V)c=getchar();if(c<,0,IIc>9){for(i=0;opchTbl[i].code!=-1&&opchTbl[i].op!=c;i++);if(opchTbl[il,code==-1)synError();if(c!=、n')c=gctchar();t[k
8、]=c;k++;returnopchTbl[i].code;}num=0;while(c>=,0&&cv=9){num=RADIX*num+c・'O';c=getchar();t[kl=c;k++;}if(c=T){dradix=1.0/RADIX;c=getchar();t[k]=c;k++;while(c>=0&&cv=9){num=num+(c-,O,